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:
- Wartość „num1” (tj. 10) jest przypisana do zmiennej tymczasowej „temp”, więc teraz wartość „temp” wynosi 10.
- Wartość „num2” (tj. 20) jest przypisana do zmiennej „num1”, tj. Teraz wartość zmiennej „num1” wynosi 20.
- 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:
- Wartość num1- num2 (tj. 10-20 = 10) jest przechowywana w zmiennej „num1”. Teraz num1 = -10.
- Wartość num1 + num2 (tj. -10 + 20 = 10) przechowywana w zmiennej „num2”. Teraz num2 = 10.
- 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:
- Wartość num1 + num2 + num3 (tj. 10 + 20 + 30 = 60) przypisywana jest do zmiennej „num1”. Więc num1 = 60.
- Wartość num1- (num2 + num3) (tj. 60 - (20 + 30) = 10) przypisywana jest do zmiennej „num2”. Więc num2 = 10.
- Wartość num1- (num2 + num3) (tj. 60 - (10 + 30) = 20) przypisywana jest do zmiennej „num3”. Więc num3 = 20.
- 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”:
- Wartość num1 (tj. 10) przypisywana jest do zmiennej temp. Więc teraz temp ma wartość 10.
- Wartość zmiennej num2 (tj. 20) jest przypisana do num1, więc wartość num1 wynosi teraz 20.
- Wartość, jeśli zmienna num3 (tj. 30) jest przypisana do zmiennej num2, więc num2 ma wartość 30.
- 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 -
- CardLayout w Javie
- Zamiana w Pythonie
- Cykl życia wątku w Javie
- Sortuj zaznaczenia w Javie
- Jak działa wymiana w C ++?
- Zamiana w PHP