Wprowadzenie do wymiany w Javie

Jak wszyscy wiemy, Java jest jednym z najbardziej popularnych języków, jeśli chodzi o rozwój oprogramowania. Zrozumienie niektórych często używanych pojęć jest bardzo ważne i może pomóc programiście wykorzystać je nawet w rozwiązywaniu dużych problemów. Zamiana jest jedną z koncepcji często używanych w programach. Zamiana oznacza zamianę wartości zmiennych. Odbywa się to z danymi w pamięci. Zamiana może odbywać się za pomocą jednej zmiennej tymczasowej lub bez użycia zmiennej tymczasowej. Większość algorytmów sortowania i wyszukiwania korzysta z zamiany wartości zmiennych. W tym temacie dowiemy się o zamianie w Javie.

Zamiana dwóch liczb w Javie

Rzućmy okiem za pomocą jakiegoś przykładu

Przypadek 1: Zamiana liczb za pomocą zmiennej tymczasowej

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);
)
)

Wynik:

Oryginalne wartości przed zamianą to:
Wartość liczby 1 wynosi 10
Wartość 2 wynosi 20 Wartości po zamianie to:
Wartość liczby 1 wynosi 20
Wartość liczby 2 wynosi 10

Wyjaśnienie

W powyższym programie mieliśmy dwie zmienne o nazwach num1 i num2 o wartościach odpowiednio 10 i 20. Używana jest zmienna tymczasowa o nazwie temp tego samego typu danych co zmienne num1 i num2. Zamiana jest przetwarzana w 3 krokach:

  1. Wartość „num1” (tj. 10) jest przypisana do zmiennej tymczasowej „temp”, więc teraz wartość „temp” wynosi 10.
  2. Wartość „num2” (tj. 20) jest przypisana do zmiennej „num1”, tj. Teraz wartość zmiennej „num1” wynosi 20.
  3. Wartość zmiennej „temp” (tj. 10) przypisanej w kroku 1 jest teraz przypisana do zmiennej „num 2”, tj. Wartość zmiennej „num2” staje się teraz równa 10.

Na koniec wartości zmiennych są zamieniane lub zamieniane, a zamienione wartości są drukowane na konsoli.

Przypadek 2: Zamiana dwóch liczb bez użycia zmiennej tymczasowej

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);
)
)

Wynik:

Oryginalne wartości przed zamianą to:
Wartość liczby 1 wynosi 10
Wartość 2 wynosi 20 Wartości po zamianie to:
Wartość liczby 1 wynosi 20
Wartość liczby 2 wynosi 10

Wyjaśnienie

W powyższym przykładzie zastosowano prostą matematykę do zamiany liczb, która odbywa się w 3 krokach:

  1. Wartość num1- num2 (tj. 10-20 = 10) jest przechowywana w zmiennej „num1”. Teraz num1 = -10.
  2. Wartość num1 + num2 (tj. -10 + 20 = 10) przechowywana w zmiennej „num2”. Teraz num2 = 10.
  3. Wartość num2- num1 (tj. 10 - (-10)) = 20) jest przechowywana w zmiennej „num1”. Teraz num1 = 20.

Zamiana trzech liczb w Javie

Przeanalizujmy zamianę trzech liczb za pomocą jakiegoś przykładu

Przypadek 1: Zamiana liczb bez użycia zmiennej tymczasowej

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);
)
)

Wynik:

Oryginalne wartości przed zamianą to:
Wartość liczby 1 wynosi 10
Wartość liczby 2 wynosi 20
Wartość liczby 3 wynosi 30 Wartości po zamianie to:
Wartość liczby 1 wynosi 30
Wartość liczby 2 wynosi 10
Wartość liczby 3 wynosi 20

Wyjaśnienie

W powyższym przykładzie zastosowano prostą matematykę do wymiany wartości 3 zmiennych. Obejmuje 4 kroki wymienione poniżej:

  1. Wartość num1 + num2 + num3 (tj. 10 + 20 + 30 = 60) przypisywana jest do zmiennej „num1”. Więc num1 = 60.
  2. Wartość num1- (num2 + num3) (tj. 60 - (20 + 30) = 10) przypisywana jest do zmiennej „num2”. Więc num2 = 10.
  3. Wartość num1- (num2 + num3) (tj. 60 - (10 + 30) = 20) przypisywana jest do zmiennej „num3”. Więc num3 = 20.
  4. Wartość num1- (num2 + num3) (tj. 60 - (10 + 20) = 30) przypisywana jest do zmiennej „num1”. Więc num1 = 30.

Zamienione wartości 3 zmiennych są drukowane na konsoli.

Przypadek 2: Zamiana 3 liczb za pomocą zmiennej tymczasowej

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);
)
)

Wynik:

Oryginalne wartości przed zamianą to:
Wartość liczby 1 wynosi 10
Wartość liczby 2 wynosi 20
Wartość liczby 3 wynosi 30 Wartości po zamianie to:
Wartość liczby 1 wynosi 20
Wartość liczby 2 wynosi 30
Wartość liczby 3 wynosi 10

Wyjaśnienie

W powyższym programie zamiana 3 liczb odbywa się w 4 prostych krokach i używana jest tymczasowa zmienna „temp”:

  1. Wartość num1 (tj. 10) przypisywana jest do zmiennej temp. Więc teraz temp ma wartość 10.
  2. Wartość zmiennej num2 (tj. 20) jest przypisana do num1, więc wartość num1 wynosi teraz 20.
  3. Wartość, jeśli zmienna num3 (tj. 30) jest przypisana do zmiennej num2, więc num2 ma wartość 30.
  4. Wartość zmiennej temp (tj. 10) jest przypisana do zmiennej num3, więc num3 ma teraz wartość 10.
    Wartości 3 liczb są zamieniane i drukowane na konsoli.

Wniosek

Jak wyjaśniono powyżej, zamiana odbywa się na dwa wyżej wymienione sposoby. Chociaż zamiana w Javie może być również wykonana za pomocą wywołania przez referencję, która używa adresu liczb do wyceny wartości.

Polecane artykuły

Jest to przewodnik po zamianie w Javie. Tutaj omawiamy zamianę dwóch liczb i trzech liczb w Javie z użyciem zmiennych tymczasowych i bez nich. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. CardLayout w Javie
  2. Zamiana w Pythonie
  3. Cykl życia wątku w Javie
  4. Sortuj zaznaczenia w Javie
  5. Jak działa wymiana w C ++?
  6. Zamiana w PHP