Introduktion til swapping i Java

Som vi alle ved, at Java er et af de mest spændende sprog, når det kommer til softwareudvikling. At forstå dets nogle koncepter, der ofte bruges, er meget vigtigt og kan hjælpe programmøren med at bruge dem selv til at løse store problemer. Swapping er et af de begreber, der ofte bruges i programmer. Ombytning betyder udveksling af variabler. Det gøres med dataene i hukommelsen. Udskiftning kan udføres enten ved hjælp af en midlertidig variabel eller uden at bruge den midlertidige variabel. De fleste af sorterings- og søgealgoritmerne bruger swapping af variablerne. I dette emne skal vi lære om at bytte i Java.

Udskiftning af to numre i Java

Lad os se på ved hjælp af et eksempel

Tilfælde 1: Udskiftning af tal vha. Den midlertidige variabel

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

Produktion:

De oprindelige værdier før udskiftning er:
Værdien af ​​nummer 1 er 10
Værdi af nummer 2 er 20 Værdier efter bytte er:
Værdien af ​​nummer 1 er 20
Værdien af ​​nummer 2 er 10

Forklaring

I ovenstående program havde vi to variabler, der hedder num1 og num2 med værdierne henholdsvis 10 og 20. En midlertidig variabel med navnet temp bruges til den samme datatype af variablerne num1 og num2. Udskiftningen behandles i 3 trin:

  1. Værdien af ​​'num1' (dvs. 10) tildeles den midlertidige variabel 'temp', så nu er værdien af ​​'temp' 10.
  2. Værdien af ​​'num2' (dvs. 20) tildeles til 'num1' -variablen, dvs. nu er værdien af ​​'num1' -variablen 20.
  3. Værdien af ​​'temp' -variabel (dvs. 10) tildelt i trin 1 tildeles nu til 'num 2' -variablen, dvs. værdien af ​​'num2' -variablen bliver 10 nu.

Endelig udskiftes eller udskiftes værdierne for variablerne, og de udskiftede værdier udskrives på konsollen.

Tilfælde 2: Udskiftning af to tal uden brug af den midlertidige variabel

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

Produktion:

De oprindelige værdier før udskiftning er:
Værdien af ​​nummer 1 er 10
Værdi af nummer 2 er 20 Værdier efter bytte er:
Værdien af ​​nummer 1 er 20
Værdien af ​​nummer 2 er 10

Forklaring

I ovenstående eksempel følges simpel matematik for at bytte de tal, der udføres i 3 trin:

  1. Værdien af ​​num1-num2 (dvs. 10- 20 = -10) gemmes i variablen 'num1'. Nu num1 = -10.
  2. Værdi af num1 + num2 (dvs. -10 + 20 = 10) gemt i variablen 'num2'. Nu num2 = 10.
  3. Værdi af num2-num1 (dvs. 10 - (-10)) = 20) gemmes i variablen 'num1'. Nu, num1 = 20.

Udskiftning af tre numre i Java

Lad os studere udveksling af tre numre ved hjælp af et eksempel

Tilfælde 1: Udskiftning af tal uden brug af en midlertidig variabel

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

Produktion:

De oprindelige værdier før udskiftning er:
Værdien af ​​nummer 1 er 10
Værdien af ​​nummer 2 er 20
Værdi af nummer 3 er 30 Værdier efter bytte er:
Værdien af ​​nummer 1 er 30
Værdien af ​​nummer 2 er 10
Værdien af ​​nummer 3 er 20

Forklaring

I ovenstående eksempel følges simpel matematik for at udveksle værdien af ​​3 variabler. Det involverer fire trin, der er nævnt nedenfor:

  1. Værdien af ​​num1 + num2 + num3 (dvs. 10 + 20 + 30 = 60) tildeles variablen 'num1'. Så num1 = 60.
  2. Værdi af num1- (num2 + num3) (dvs. 60 - (20 + 30) = 10) tildeles variablen 'num2'. Så num2 = 10.
  3. Værdi af num1- (num2 + num3) (dvs. 60 - (10 + 30) = 20) tildeles variablen 'num3'. Så num3 = 20.
  4. Værdi af num1- (num2 + num3) (dvs. 60 - (10 + 20) = 30) tildeles variablen 'num1'. Så num1 = 30.

De udskiftede værdier for 3 variabler udskrives på konsollen.

Tilfælde 2: Udskiftning af 3 numre ved hjælp af en midlertidig variabel

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

Produktion:

De oprindelige værdier før udskiftning er:
Værdien af ​​nummer 1 er 10
Værdien af ​​nummer 2 er 20
Værdi af nummer 3 er 30 Værdier efter bytte er:
Værdien af ​​nummer 1 er 20
Værdien af ​​nummer 2 er 30
Værdien af ​​nummer 3 er 10

Forklaring

I ovenstående program udveksles 3 numre i 4 enkle trin, og en midlertidig variabel 'temp' bruges:

  1. Værdien af ​​num1 (dvs. 10) tildeles temp-variablen. Så nu har tempen værdi 10.
  2. Værdi af num2-variabel (dvs. 20) tildeles num1, så num1-værdi er 20 nu.
  3. Værdi, hvis num3-variabel (dvs. 30) er tildelt til num2-variabel, så num2 har værdi 30.
  4. Værdien af ​​temp-variablen (dvs. 10) er tildelt num3-variablen, så num3 har værdien 10 nu.
    Værdierne for de 3 numre udskiftes og udskrives på konsollen.

Konklusion

Som forklaret ovenfor udføres swapping på ovennævnte to måder. Selvom swapping i Java kan også udføres ved at bruge opkald ved henvisning, der bruger nummeadressen til at værdsætte værdierne.

Anbefalede artikler

Dette er en guide til udskiftning i Java. Her diskuterer vi udskiftning af to numre og tre numre i Java med og uden brug af midlertidige variabler. Du kan også se på de følgende artikler for at lære mere -

  1. CardLayout i Java
  2. Udskiftning i Python
  3. Tråd Livscyklus i Java
  4. Valgssortering i Java
  5. Hvordan fungerer swapping i C ++?
  6. Udskiftning af PHP

Kategori: