Ú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:

  1. Hodnota 'num1' (tj. 10) je přiřazena dočasné proměnné 'temp', takže nyní je hodnota 'temp' 10.
  2. Hodnota 'num2' (tj. 20) je přiřazena proměnné 'num1', tj. Nyní je hodnota proměnné 'num1' 20.
  3. 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:

  1. Hodnota num1- num2 (tj. 10- 20 = -10) je uložena v proměnné 'num1'. Nyní num1 = -10.
  2. Hodnota num1 + num2 (tj. -10 + 20 = 10) uložená v proměnné 'num2'. Nyní num2 = 10.
  3. 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:

  1. Hodnota num1 + num2 + num3 (tj. 10 + 20 + 30 = 60) je přiřazena k proměnné 'num1'. Takže číslo 1 = 60.
  2. Hodnota num1- (num2 + num3) (tj. 60 - (20 + 30) = 10) je přiřazena k proměnné 'num2'. Takže num2 = 10.
  3. Hodnota num1- (num2 + num3) (tj. 60 - (10 + 30) = 20) je přiřazena k proměnné 'num3'. Takže číslo 3 = 20.
  4. 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':

  1. Hodnota num1 (tj. 10) je přiřazena dočasné proměnné. Teď má nyní temp hodnotu 10.
  2. Hodnota proměnné num2 (tj. 20) je přiřazena num1, takže num1 je nyní 20.
  3. Hodnota, pokud je proměnná num3 (tj. 30) přiřazena k proměnné num2, takže num2 má hodnotu 30.
  4. 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 -

  1. CardLayout v Javě
  2. Výměna v Pythonu
  3. Životní cyklus vlákna v Javě
  4. Výběr Seřadit v Javě
  5. Jak Swapping funguje v C ++?
  6. Výměna v PHP

Kategorie: