Увод у Сваппинг у Јави
Као што сви знамо да је Јава један од најпожељнијих језика када је у питању развој софтвера. Разумевање неких његових концепата који се често користе је веома важно и може помоћи програмеру да их користи чак и у решавању великих проблема. Замјена је један од концепата који се често користи у програмима. Замјена значи размјену вриједности варијабли. То се ради с подацима у меморији. Замјена се може обавити или уз помоћ једне привремене варијабле или без кориштења привремене варијабле. Већина алгоритама за сортирање и претраживање користи замјене вриједности варијабли. У овој теми ћемо сазнати о Замени у Јави.
Замјена два броја на Јави
Погледајмо уз помоћ неког примера
Случај 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' (тј. 10) додијељена је привременој варијабли 'темп', тако да је сада вриједност 'темп' 10.
- Вриједност 'нум2' (тј. 20) додијељена је варијабли 'нум1', тј. Сада је вриједност варијабле 'нум1' 20.
- Вриједност варијабле 'темп' (тј. 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-нум2 (тј. 10-20 = -10) чува се у варијабли 'нум1'. Сада је нум1 = -10.
- Вриједност нум1 + нум2 (тј. -10 + 20 = 10) похрањена у варијабли 'нум2'. Сада је нум2 = 10.
- Вриједност нум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 + нум2 + нум3 (тј. 10 + 20 + 30 = 60) додељена је променљивој 'нум1'. Значи нум1 = 60.
- Вредност нум1- (нум2 + нум3) (тј. 60 - (20 + 30) = 10) додељена је променљивој 'нум2'. Значи нум2 = 10.
- Вредност нум1- (нум2 + нум3) (тј. 60 - (10 + 30) = 20) додељена је променљивој 'нум3'. Значи нум3 = 20.
- Вредност нум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 (тј. 10) додјељује се темп варијабли. Дакле, сада темп има вредност 10.
- Вредност нум2 варијабле (тј. 20) додељена је нум1, па је вредност нум1 сада 20.
- Вриједност ако је варијабла нум3 (тј. 30) додијељена нум2 варијабли, па нум2 има вриједност 30.
- Вриједност темп варијабле (тј. 10) додијељена је варијабли нум3, тако да нум3 сада има вриједност 10.
Вредности 3 броја измјењују се и штампају на конзоли.
Закључак
Као што је горе објашњено, замена се врши на горе наведена два начина. Иако се замјена у Јави може обавити и позивањем по референци који користи вриједност бројева за вредновање вриједности.
Препоручени чланци
Ово је водич за Сваппинг у Јави. Овдје смо разговарали о замјени два броја и три броја у Јави са и без кориштења привремених варијабли. Можда ћете такође погледати следеће чланке да бисте сазнали више -
- ЦардЛаиоут у Јави
- Замјена у Питхон-у
- Животни циклус теме на Јави
- Избор сортирања у Јави
- Како замјена ради у Ц ++?
- Замјена у ПХП-у