Introduzione allo scambio in Java

Come tutti sappiamo, Java è uno dei linguaggi più di tendenza in termini di sviluppo software. Comprenderne alcuni concetti che vengono frequentemente utilizzati è molto importante e può aiutare il programmatore a usarli anche per risolvere grandi problemi. Lo scambio è uno dei concetti che viene spesso utilizzato nei programmi. Scambiare significa scambiare valori di variabili. Viene fatto con i dati in memoria. Lo scambio può essere effettuato con l'aiuto di una variabile temporanea o senza utilizzare la variabile temporanea. La maggior parte degli algoritmi di ordinamento e ricerca utilizza lo scambio dei valori delle variabili. In questo argomento, impareremo a scambiare in Java.

Scambio di due numeri in Java

Diamo un'occhiata con l'aiuto di alcuni esempi

Caso 1: scambio di numeri usando la variabile temporanea

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

Produzione:

I valori originali prima dello scambio sono:
Il valore del numero 1 è 10
Il valore del numero 2 è 20 I valori dopo lo scambio sono:
Il valore del numero 1 è 20
Il valore del numero 2 è 10

Spiegazione

Nel programma sopra, avevamo due variabili denominate num1 e num2 con i valori rispettivamente di 10 e 20. Viene utilizzata una variabile temporanea con il nome temp dello stesso tipo di dati delle variabili num1 e num2. Lo scambio viene elaborato in 3 passaggi:

  1. Il valore di 'num1' (cioè 10) è assegnato alla variabile temporanea 'temp', quindi ora il valore di 'temp' è 10.
  2. Il valore di 'num2' (cioè 20) è assegnato alla variabile 'num1', cioè ora il valore della variabile 'num1' è 20.
  3. Il valore della variabile 'temp' (ovvero 10) assegnato nel passaggio 1 è ora assegnato alla variabile 'num 2', ovvero il valore della variabile 'num2' diventa ora 10.

Infine, i valori delle variabili vengono scambiati o scambiati e i valori scambiati vengono stampati sulla console.

Caso 2: scambio di due numeri senza usare la variabile temporanea

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

Produzione:

I valori originali prima dello scambio sono:
Il valore del numero 1 è 10
Il valore del numero 2 è 20 I valori dopo lo scambio sono:
Il valore del numero 1 è 20
Il valore del numero 2 è 10

Spiegazione

Nell'esempio sopra, viene seguita la matematica semplice per scambiare i numeri che viene fatto in 3 passaggi:

  1. Il valore di num1- num2 (ovvero 10-20 = -10) è memorizzato nella variabile 'num1'. Ora num1 = -10.
  2. Valore di num1 + num2 (ovvero -10 + 20 = 10) memorizzato nella variabile 'num2'. Ora num2 = 10.
  3. Il valore di num2- num1 (ovvero 10 - (-10)) = 20) è memorizzato nella variabile 'num1'. Ora, num1 = 20.

Scambio di tre numeri in Java

Studiamo lo scambio di tre numeri con l'aiuto di alcuni esempi

Caso 1: scambio di numeri senza usare una variabile temporanea

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

Produzione:

I valori originali prima dello scambio sono:
Il valore del numero 1 è 10
Il valore del numero 2 è 20
Il valore del numero 3 è 30 I valori dopo lo scambio sono:
Il valore del numero 1 è 30
Il valore del numero 2 è 10
Il valore del numero 3 è 20

Spiegazione

Nell'esempio sopra, viene seguita la matematica semplice per scambiare il valore di 3 variabili. Comprende 4 passaggi che sono indicati di seguito:

  1. Il valore di num1 + num2 + num3 (ovvero 10 + 20 + 30 = 60) è assegnato alla variabile 'num1'. Quindi num1 = 60.
  2. Il valore di num1- (num2 + num3) (ovvero 60 - (20 + 30) = 10) è assegnato alla variabile 'num2'. Quindi num2 = 10.
  3. Il valore di num1- (num2 + num3) (ovvero 60 - (10 + 30) = 20) è assegnato alla variabile 'num3'. Quindi num3 = 20.
  4. Il valore di num1- (num2 + num3) (ovvero 60 - (10 + 20) = 30) è assegnato alla variabile 'num1'. Quindi num1 = 30.

I valori scambiati di 3 variabili sono stampati sulla console.

Caso 2: scambio di 3 numeri usando una variabile temporanea

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

Produzione:

I valori originali prima dello scambio sono:
Il valore del numero 1 è 10
Il valore del numero 2 è 20
Il valore del numero 3 è 30 I valori dopo lo scambio sono:
Il valore del numero 1 è 20
Il valore del numero 2 è 30
Il valore del numero 3 è 10

Spiegazione

Nel programma sopra, lo scambio di 3 numeri viene eseguito in 4 semplici passaggi e viene utilizzata una variabile temporanea 'temp':

  1. Il valore di num1 (ovvero 10) è assegnato alla variabile temp. Quindi, ora la temperatura ha un valore 10.
  2. Il valore della variabile num2 (ovvero 20) è assegnato a num1, quindi il valore num1 ora è 20.
  3. Valore se la variabile num3 (ovvero 30) è assegnata alla variabile num2, quindi num2 ha valore 30.
  4. Il valore della variabile temp (cioè 10) è assegnato alla variabile num3, quindi num3 ora ha valore 10.
    I valori dei 3 numeri vengono scambiati e stampati sulla console.

Conclusione

Come spiegato sopra, lo scambio viene eseguito nei due modi sopra menzionati. Anche se lo scambio in Java può essere effettuato anche utilizzando call per riferimento che utilizza l'indirizzo dei numeri per valutare i valori.

Articoli consigliati

Questa è una guida allo scambio in Java. Qui discutiamo lo scambio di due numeri e tre numeri in Java con e senza l'utilizzo di variabili temporanee. Puoi anche dare un'occhiata ai seguenti articoli per saperne di più -

  1. CardLayout in Java
  2. Scambiare in Python
  3. Thread Ciclo di vita in Java
  4. Selezione ordinamento in Java
  5. Come funziona lo scambio in C ++?
  6. Scambiare in PHP

Categoria: