Увод у Сваппинг у Јави

Као што сви знамо да је Јава један од најпожељнијих језика када је у питању развој софтвера. Разумевање неких његових концепата који се често користе је веома важно и може помоћи програмеру да их користи чак и у решавању великих проблема. Замјена је један од концепата који се често користи у програмима. Замјена значи размјену вриједности варијабли. То се ради с подацима у меморији. Замјена се може обавити или уз помоћ једне привремене варијабле или без кориштења привремене варијабле. Већина алгоритама за сортирање и претраживање користи замјене вриједности варијабли. У овој теми ћемо сазнати о Замени у Јави.

Замјена два броја на Јави

Погледајмо уз помоћ неког примера

Случај 1: Замјена бројева помоћу привремене варијабле

public class Swap2Numbers
(
public static void main(String() args)
(
int num1=10;
int num2 =20;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1); System.out.println("Value of number 2 is " +num2);
// Value of num1, ie 10 is assigned to temp variable int temp = num1;
// Value of num2, ie 20 is assigned to num1 variable num1 = num2;
// Value of temp variable, ie 10 (assigned by num1) is assigned to num2
num2 = temp;
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2);
)
)

Излаз:

Оригиналне вредности пре замене су:
Вредност броја 1 је 10
Вредност броја 2 је 20 Вредности после замене су:
Вредност броја 1 је 20
Вредност броја 2 је 10

Објашњење

У горњем програму имали смо две променљиве назване нум1 и нум2 са вредностима 10 и 20. Привремена варијабла са темп имена користи се за исти тип података променљивих нум1 и нум2. Замјена се обрађује у 3 корака:

  1. Вриједност 'нум1' (тј. 10) додијељена је привременој варијабли 'темп', тако да је сада вриједност 'темп' 10.
  2. Вриједност 'нум2' (тј. 20) додијељена је варијабли 'нум1', тј. Сада је вриједност варијабле 'нум1' 20.
  3. Вриједност варијабле 'темп' (тј. 10) додијељена у кораку 1 сада је додијељена варијабли 'број 2', тј. Вриједност варијабле 'нум2' сада постаје 10.

На крају, вредности променљивих се мењају или мењају, а замењене вредности се штампају на конзоли.

Случај 2: Замјена два броја без употребе привремене варијабле

public class SwapNumbers
(
public static void main(String() args)
(
int num1= 10; int num2= 20;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1); System.out.println("Value of number 2 is " +num2);
num1 = num1- num2; num2 = num1 +num2;
num1 = num2- num1;
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1); System.out.println("Value of number 2 is " +num2);
)
)

Излаз:

Оригиналне вредности пре замене су:
Вредност броја 1 је 10
Вредност броја 2 је 20 Вредности после замене су:
Вредност броја 1 је 20
Вредност броја 2 је 10

Објашњење

У горњем примјеру слиједи једноставна математика за замјену бројева која се врши у 3 корака:

  1. Вриједност нум1-нум2 (тј. 10-20 = -10) чува се у варијабли 'нум1'. Сада је нум1 = -10.
  2. Вриједност нум1 + нум2 (тј. -10 + 20 = 10) похрањена у варијабли 'нум2'. Сада је нум2 = 10.
  3. Вриједност нум2-нум1 (тј. 10 - (-10)) = 20) се чува у варијабли 'нум1'. Сада, нум1 = 20.

Замјена три броја на Јави

Проучимо замјену три броја уз помоћ неког примера

Случај 1: Замјена бројева без кориштења привремене варијабле

public class Swap3Numbers
(
public static void main(String() args)
(
int num1= 10; int num2= 20; int num3= 30;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2); System.out.println("Value of number 3 is " +num3);
num1 = num1+ num2+ num3; num2 = num1- (num2+ num3); num3 = num1- (num2+ num3); num1 = num1- (num2+ num3);
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2);
System.out.println("Value of number 3 is " +num3);
)
)

Излаз:

Оригиналне вредности пре замене су:
Вредност броја 1 је 10
Вредност броја 2 је 20
Вредност броја 3 је 30 Вредности после замене су:
Вредност броја 1 је 30
Вредност броја 2 је 10
Вредност броја 3 је 20

Објашњење

У горњем примјеру слиједи једноставна математика ради размјене вриједности 3 варијабле. То укључује 4 корака која су наведена испод:

  1. Вредност нум1 + нум2 + нум3 (тј. 10 + 20 + 30 = 60) додељена је променљивој 'нум1'. Значи нум1 = 60.
  2. Вредност нум1- (нум2 + нум3) (тј. 60 - (20 + 30) = 10) додељена је променљивој 'нум2'. Значи нум2 = 10.
  3. Вредност нум1- (нум2 + нум3) (тј. 60 - (10 + 30) = 20) додељена је променљивој 'нум3'. Значи нум3 = 20.
  4. Вредност нум1- (нум2 + нум3) (тј. 60 - (10 + 20) = 30) додељена је променљивој 'нум1'. Значи нум1 = 30.

Замењене вредности 3 променљиве штампају се на конзоли.

Случај 2: Замјена 3 броја помоћу привремене варијабле

public class Swap3Numbers
(
public static void main( String() args)
(
int num1=10; int num2 =20; int num3 =30;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2); System.out.println("Value of number 3 is " +num3);
int temp = num1; num1 = num2; num2= num3;
num3= temp;
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2); System.out.println("Value of number 3 is " +num3);
)
)

Излаз:

Оригиналне вредности пре замене су:
Вредност броја 1 је 10
Вредност броја 2 је 20
Вредност броја 3 је 30 Вредности после замене су:
Вредност броја 1 је 20
Вредност броја 2 је 30
Вредност броја 3 је 10

Објашњење

У горњем програму, замена 3 броја врши се у 4 једноставна корака и користи се привремена променљива 'темп':

  1. Вриједност нум1 (тј. 10) додјељује се темп варијабли. Дакле, сада темп има вредност 10.
  2. Вредност нум2 варијабле (тј. 20) додељена је нум1, па је вредност нум1 сада 20.
  3. Вриједност ако је варијабла нум3 (тј. 30) додијељена нум2 варијабли, па нум2 има вриједност 30.
  4. Вриједност темп варијабле (тј. 10) додијељена је варијабли нум3, тако да нум3 сада има вриједност 10.
    Вредности 3 броја измјењују се и штампају на конзоли.

Закључак

Као што је горе објашњено, замена се врши на горе наведена два начина. Иако се замјена у Јави може обавити и позивањем по референци који користи вриједност бројева за вредновање вриједности.

Препоручени чланци

Ово је водич за Сваппинг у Јави. Овдје смо разговарали о замјени два броја и три броја у Јави са и без кориштења привремених варијабли. Можда ћете такође погледати следеће чланке да бисте сазнали више -

  1. ЦардЛаиоут у Јави
  2. Замјена у Питхон-у
  3. Животни циклус теме на Јави
  4. Избор сортирања у Јави
  5. Како замјена ради у Ц ++?
  6. Замјена у ПХП-у

Категорија: