In questo programma imparerai due tecniche per scambiare due numeri in Java. Il primo utilizza una variabile temporanea per lo scambio, mentre il secondo non utilizza variabili temporanee.
Per comprendere questo esempio, è necessario conoscere i seguenti argomenti di programmazione Java:
- Tipi di dati Java (primitivi)
- Operatori Java
Esempio 1: scambia due numeri utilizzando una variabile temporanea
public class SwapNumbers ( public static void main(String() args) ( float first = 1.20f, second = 2.45f; System.out.println("--Before swap--"); System.out.println("First number = " + first); System.out.println("Second number = " + second); // Value of first is assigned to temporary float temporary = first; // Value of second is assigned to first first = second; // Value of temporary (which contains the initial value of first) is assigned to second second = temporary; System.out.println("--After swap--"); System.out.println("First number = " + first); System.out.println("Second number = " + second); ) )
Uscita :
--Prima dello scambio-- Primo numero = 1.2 Secondo numero = 2.45 --Dopo lo scambio-- Primo numero = 2.45 Secondo numero = 1.2
Nel programma sopra, due numeri 1.20f
e 2.45f
che devono essere scambiati sono memorizzati nelle variabili: primo e secondo rispettivamente.
Le variabili vengono stampate prima dello scambio utilizzando println()
per vedere chiaramente i risultati dopo che lo scambio è stato eseguito.
- Innanzitutto, il valore di first viene memorizzato nella variabile temporary (
temporary = 1.20f
). - Quindi, il valore di second viene memorizzato in first (
first = 2.45f
). - Infine, il valore di temporaneo viene memorizzato in second (
second = 1.20f
).
Questo completa il processo di scambio e le variabili vengono stampate sullo schermo.
Ricorda, l'unico uso di temporaneo è mantenere il valore di first prima di scambiare. Puoi anche scambiare i numeri senza usare temporaneamente.
Esempio 2: scambia due numeri senza utilizzare la variabile temporanea
public class SwapNumbers ( public static void main(String() args) ( float first = 12.0f, second = 24.5f; System.out.println("--Before swap--"); System.out.println("First number = " + first); System.out.println("Second number = " + second); first = first - second; second = first + second; first = second - first; System.out.println("--After swap--"); System.out.println("First number = " + first); System.out.println("Second number = " + second); ) )
Uscita :
--Prima dello scambio-- Primo numero = 12,0 Secondo numero = 24,5 --Dopo lo scambio-- Primo numero = 24,5 Secondo numero = 12,0
Nel programma sopra, invece di usare la variabile temporanea, usiamo semplici calcoli matematici per scambiare i numeri.
Per l'operazione, la conservazione (first - second)
è importante. Questo viene memorizzato prima nella variabile.
primo = primo - secondo; primo = 12,0f - 24,5f
Quindi, aggiungiamo semplicemente second ( 24.5f
) a questo numero - calcolato prima ( 12.0f - 24.5f
) per scambiare il numero.
secondo = primo + secondo; secondo = (12,0f - 24,5f) + 24,5f = 12,0f
Ora, il secondo vale 12.0f
(che inizialmente era il valore del primo). Quindi, sottraiamo calcolato first ( 12.0f - 24.5f
) da swapped second ( 12.0f
) per ottenere l'altro numero scambiato.
primo = secondo - primo; primo = 12,0f - (12,0f - 24,5f) = 24,5f
I numeri scambiati vengono stampati sullo schermo utilizzando println()
.