Úvod do swapování v Javě
Jak všichni víme, Java je jedním z nejvýznamnějších jazyků, pokud jde o vývoj softwaru. Porozumění některým často používaným konceptům je velmi důležité a může pomoci programátorovi je použít i při řešení velkých problémů. Výměna je jedním z konceptů, které se často používají v programech. Přepínání znamená výměnu hodnot proměnných. To se provádí s daty v paměti. Přepínání lze provést buď pomocí jedné dočasné proměnné, nebo bez použití dočasné proměnné. Většina algoritmů třídění a vyhledávání používá výměnu hodnot proměnných. V tomto tématu se dozvíme o swapování v Javě.
Výměna dvou čísel v Javě
Pojďme se podívat pomocí několika příkladů
Případ 1: Zaměňování čísel pomocí dočasné proměnné
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);
)
)
Výstup:
Původní hodnoty před zaměněním jsou:
Hodnota čísla 1 je 10
Hodnota čísla 2 je 20 Hodnoty po výměně jsou:
Hodnota čísla 1 je 20
Hodnota čísla 2 je 10
Vysvětlení
Ve výše uvedeném programu jsme měli dvě proměnné pojmenované num1 a num2 s hodnotami 10 a 20. Použije se dočasná proměnná s názvem temp stejného datového typu proměnných num1 a num2. Výměna je zpracována ve 3 krocích:
- Hodnota 'num1' (tj. 10) je přiřazena dočasné proměnné 'temp', takže nyní je hodnota 'temp' 10.
- Hodnota 'num2' (tj. 20) je přiřazena proměnné 'num1', tj. Nyní je hodnota proměnné 'num1' 20.
- Hodnota proměnné „temp“ (tj. 10) přiřazená v kroku 1 je nyní přiřazena k proměnné „num 2“, tj. Hodnota proměnné „num2“ je nyní 10.
Nakonec jsou hodnoty proměnných zaměněny nebo zaměněny a zaměněné hodnoty jsou vytištěny na konzole.
Případ 2: Zaměňování dvou čísel bez použití dočasné proměnné
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);
)
)
Výstup:
Původní hodnoty před zaměněním jsou:
Hodnota čísla 1 je 10
Hodnota čísla 2 je 20 Hodnoty po výměně jsou:
Hodnota čísla 1 je 20
Hodnota čísla 2 je 10
Vysvětlení
Ve výše uvedeném příkladu je jednoduchá matematika nahrazena čísly, které se provádějí ve 3 krocích:
- Hodnota num1- num2 (tj. 10- 20 = -10) je uložena v proměnné 'num1'. Nyní num1 = -10.
- Hodnota num1 + num2 (tj. -10 + 20 = 10) uložená v proměnné 'num2'. Nyní num2 = 10.
- Hodnota num2-num1 (tj. 10 - (-10)) = 20) je uložena v proměnné 'num1'. Nyní, num1 = 20.
Výměna tří čísel v Javě
Pojďme studovat zaměňování tří čísel za pomoci nějakého příkladu
Případ 1: Zaměňování čísel bez použití dočasné proměnné
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);
)
)
Výstup:
Původní hodnoty před zaměněním jsou:
Hodnota čísla 1 je 10
Hodnota čísla 2 je 20
Hodnota číslo 3 je 30 Hodnoty po výměně jsou:
Hodnota čísla 1 je 30
Hodnota čísla 2 je 10
Hodnota čísla 3 je 20
Vysvětlení
Ve výše uvedeném příkladu je jednoduchá matematika vyměňována za hodnotu 3 proměnných. Zahrnuje 4 kroky, které jsou uvedeny níže:
- Hodnota num1 + num2 + num3 (tj. 10 + 20 + 30 = 60) je přiřazena k proměnné 'num1'. Takže číslo 1 = 60.
- Hodnota num1- (num2 + num3) (tj. 60 - (20 + 30) = 10) je přiřazena k proměnné 'num2'. Takže num2 = 10.
- Hodnota num1- (num2 + num3) (tj. 60 - (10 + 30) = 20) je přiřazena k proměnné 'num3'. Takže číslo 3 = 20.
- Hodnota num1- (num2 + num3) (tj. 60 - (10 + 20) = 30) je přiřazena k proměnné 'num1'. Takže num1 = 30.
Zaměněné hodnoty 3 proměnných jsou vytištěny na konzole.
Případ 2: Zaměňování 3 čísel pomocí dočasné proměnné
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);
)
)
Výstup:
Původní hodnoty před zaměněním jsou:
Hodnota čísla 1 je 10
Hodnota čísla 2 je 20
Hodnota číslo 3 je 30 Hodnoty po výměně jsou:
Hodnota čísla 1 je 20
Hodnota čísla 2 je 30
Hodnota čísla 3 je 10
Vysvětlení
Ve výše uvedeném programu se střídání 3 čísel provádí ve 4 jednoduchých krocích a používá se dočasná proměnná 'temp':
- Hodnota num1 (tj. 10) je přiřazena dočasné proměnné. Teď má nyní temp hodnotu 10.
- Hodnota proměnné num2 (tj. 20) je přiřazena num1, takže num1 je nyní 20.
- Hodnota, pokud je proměnná num3 (tj. 30) přiřazena k proměnné num2, takže num2 má hodnotu 30.
- Hodnota proměnné temp (tj. 10) je přiřazena proměnné num3, takže num3 má nyní hodnotu 10.
Hodnoty ze 3 čísel jsou zaměněny a vytištěny na konzole.
Závěr
Jak je vysvětleno výše, výměna se provádí dvěma výše uvedenými způsoby. Ačkoli přepínání v Javě může být také provedeno pomocí volání odkazem, který používá adresu čísel k hodnotám hodnot.
Doporučené články
Toto je průvodce Swapováním v Javě. Zde diskutujeme zaměňování dvou čísel a tří čísel v Javě s použitím dočasných proměnných a bez nich. Další informace naleznete také v následujících článcích -
- CardLayout v Javě
- Výměna v Pythonu
- Životní cyklus vlákna v Javě
- Výběr Seřadit v Javě
- Jak Swapping funguje v C ++?
- Výměna v PHP