Inleiding tot swappen in Java

Zoals we allemaal weten, is Java een van de meest populaire talen als het gaat om softwareontwikkeling. Het is erg belangrijk om enkele concepten te begrijpen die vaak worden gebruikt en kan de programmeur helpen om ze te gebruiken, zelfs bij het oplossen van grote problemen. Ruilen is een van de concepten die vaak in programma's wordt gebruikt. Ruilen betekent het uitwisselen van waarden van variabelen. Het gebeurt met de gegevens in het geheugen. Ruilen kan met behulp van één tijdelijke variabele of zonder de tijdelijke variabele te gebruiken. De meeste sorteer- en zoekalgoritmen gebruiken het omwisselen van de waarden van variabelen. In dit onderwerp gaan we leren over swappen in Java.

Wisselen van twee nummers in Java

Laten we een kijkje nemen aan de hand van een voorbeeld

Geval 1: Getallen verwisselen met de tijdelijke variabele

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

Output:

Oorspronkelijke waarden vóór omwisseling zijn:
Waarde van nummer 1 is 10
Waarde van nummer 2 is 20 Waarden na omwisseling zijn:
Waarde van nummer 1 is 20
Waarde van nummer 2 is 10

Uitleg

In het bovenstaande programma hadden we twee variabelen genaamd num1 en num2 met respectievelijk de waarden 10 en 20. Een tijdelijke variabele met de naam temp wordt gebruikt van hetzelfde gegevenstype van de variabelen num1 en num2. Het ruilen gebeurt in 3 stappen:

  1. De waarde van 'num1' (dwz 10) is toegewezen aan de tijdelijke variabele 'temp', dus nu is de waarde van 'temp' 10.
  2. De waarde van 'num2' (dwz 20) wordt toegewezen aan de 'num1' variabele, dat wil zeggen dat de waarde van 'num1' variabele 20 is.
  3. De waarde van de 'temp' variabele (dwz 10) toegewezen in stap 1 is nu toegewezen aan de 'num 2' variabele, dat wil zeggen dat de waarde van de 'num2' variabele nu 10 wordt.

Ten slotte worden de waarden van de variabelen omgewisseld of verwisseld en worden de omgewisselde waarden op de console afgedrukt.

Geval 2: Wisselen van twee getallen zonder de tijdelijke variabele te gebruiken

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

Output:

Oorspronkelijke waarden vóór omwisseling zijn:
Waarde van nummer 1 is 10
Waarde van nummer 2 is 20 Waarden na omwisseling zijn:
Waarde van nummer 1 is 20
Waarde van nummer 2 is 10

Uitleg

In het bovenstaande voorbeeld wordt eenvoudige wiskunde gevolgd om de getallen te verwisselen, wat in 3 stappen gebeurt:

  1. Waarde van num1- num2 (dwz 10-20 = -10) wordt opgeslagen in de variabele 'num1'. Nu num1 = -10.
  2. Waarde van num1 + num2 (dwz -10 + 20 = 10) opgeslagen in de variabele 'num2'. Nu num2 = 10.
  3. Waarde van num2- num1 (di 10 - (-10)) = 20) wordt opgeslagen in de variabele 'num1'. Nu, num1 = 20.

Ruilen van drie nummers in Java

Laten we het uitwisselen van drie nummers bestuderen met behulp van een voorbeeld

Geval 1: Getallen verwisselen zonder een tijdelijke variabele te gebruiken

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

Output:

Oorspronkelijke waarden vóór omwisseling zijn:
Waarde van nummer 1 is 10
Waarde van nummer 2 is 20
Waarde van nummer 3 is 30 Waarden na omwisseling zijn:
Waarde van nummer 1 is 30
Waarde van nummer 2 is 10
Waarde van nummer 3 is 20

Uitleg

In het bovenstaande voorbeeld wordt eenvoudige wiskunde gevolgd om de waarde van 3 variabelen uit te wisselen. Het omvat 4 stappen die hieronder worden vermeld:

  1. De waarde van num1 + num2 + num3 (dwz 10 + 20 + 30 = 60) wordt toegewezen aan variabele 'num1'. Dus num1 = 60.
  2. Waarde van num1- (num2 + num3) (dwz 60 - (20 + 30) = 10) wordt toegewezen aan variabele 'num2'. Dus num2 = 10.
  3. Waarde van num1- (num2 + num3) (dwz 60 - (10 + 30) = 20) wordt toegewezen aan variabele 'num3'. Dus num3 = 20.
  4. Waarde van num1- (num2 + num3) (dwz 60 - (10 + 20) = 30) wordt toegewezen aan variabele 'num1'. Dus num1 = 30.

De omgewisselde waarden van 3 variabelen worden op de console afgedrukt.

Geval 2: 3 nummers omwisselen met een tijdelijke variabele

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

Output:

Oorspronkelijke waarden vóór omwisseling zijn:
Waarde van nummer 1 is 10
Waarde van nummer 2 is 20
Waarde van nummer 3 is 30 Waarden na omwisseling zijn:
Waarde van nummer 1 is 20
Waarde van nummer 2 is 30
Waarde van nummer 3 is 10

Uitleg

In het bovenstaande programma wordt het omwisselen van 3 nummers in 4 eenvoudige stappen uitgevoerd en wordt een tijdelijke variabele 'temp' gebruikt:

  1. De waarde van num1 (dwz 10) wordt toegewezen aan de tijdelijke variabele. Dus nu heeft de temperatuur waarde 10.
  2. De waarde van de variabele num2 (dwz 20) wordt toegewezen aan num1, dus de waarde num1 is nu 20.
  3. Waarde als num3-variabele (dwz 30) is toegewezen aan num2-variabele, dus num2 heeft waarde 30.
  4. De waarde van de tijdelijke variabele (dwz 10) wordt toegewezen aan de variabele num3, dus num3 heeft nu waarde 10.
    De waarden van de 3 nummers worden omgewisseld en afgedrukt op de console.

Conclusie

Zoals hierboven uitgelegd, wordt ruilen uitgevoerd op de bovengenoemde twee manieren. Hoewel het ruilen in Java ook kan worden gedaan door call by reference te gebruiken, waarbij het adresnummer wordt gebruikt om de waarden te waarderen.

Aanbevolen artikelen

Dit is een handleiding voor swappen in Java. Hier bespreken we het wisselen van twee nummers en drie nummers in Java met en zonder tijdelijke variabelen. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. CardLayout in Java
  2. Ruilen in Python
  3. Thread Life cycle in Java
  4. Selectie sorteren op Java
  5. Hoe werkt swappen in C ++?
  6. Ruilen in PHP