English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
En este programa, aprenderá dos técnicas para intercambiar dos números en Java. La primera usa una variable temporal para el intercambio, y la segunda no usa ninguna variable temporal.
public class SwapNumbers { public static void main(String[] args) { float first = 1.20f, second = 2.45f; System.out.println("--Antes de intercambiar--"); System.out.println("primer número = ", + first); System.out.println("Segundo número =") + second); //El valor de first se asigna a temporary float temporary = first; //El valor de second se asigna a first first = second; //El valor temporal (que contiene el valor inicial de first) se asigna a second second = temporary; System.out.println("--Después de intercambiar--"); System.out.println("primer número = ", + first); System.out.println("Segundo número =") + second); } }
Al ejecutar el programa, la salida es:
--Antes de intercambiar-- Primer número = 1.2 Segundo número = 2.45 --Después de intercambiar-- Primer número = 2.45 Segundo número = 1.2
En el programa anterior, los dos números que se intercambian son1.20f y2.45f se almacenan en las variables first y second.
Use println() antes del intercambio para imprimir las variables, para que pueda ver claramente los resultados después del intercambio.
Primero, el valor de first se almacena en la variable temporal temporary (temporary = 1.20f) entre ellos.
Luego, el valor de second se almacena en first (first = 2.45f).
Y, el valor final de temporary se almacena en second (second = 1.20f) entre ellos.
De esta manera se completa el proceso de intercambio y las variables se imprimen en la pantalla.
Recuerde que la única función de temporary es almacenar el valor de first antes del intercambio. También puede intercambiar números sin usar temporary.
public class SwapNumbers { public static void main(String[] args) { float first = 12.0f, second = 24.5f; System.out.println("--Antes de intercambiar--"); System.out.println("primer número = ", + first); System.out.println("Segundo número =") + second); first = first - second; second = first + second; first = second - first; System.out.println("--Después de intercambiar--"); System.out.println("primer número = ", + first); System.out.println("Segundo número =") + second); } }
Al ejecutar el programa, la salida es:
--Antes de intercambiar-- Primer número = 12.0 Segundo número = 24.5 --Después de intercambiar-- Primer número = 24.5 Segundo número = 12.0
En el programa anterior, usamos matemáticas simples para intercambiar números, en lugar de usar variables temporales.
Para la operación, almacenamos (first - second) es importante. Esto se almacena en la variable first.
first = first - second; first = 12.0f - 24.5f
Luego, solo necesitamos aplicarsumar second(24.5f)-El primero calculado(12.0f - 24.5f)para intercambiar el número.
second = first + second; second = (12.0f - 24.5f) + 24.5f = 12.0f
Ahora, second tiene12.0f (que originalmente era el valor de first). Por lo tanto, tomamos el segundo(12.0f) restar al primero calculado(12.0f - 24.5f) obtener otro número intercambiado.
first = second - first; first = 12.0f - (12.0f - 24.5f) = 24.5f
Los números intercambiados se imprimen en la pantalla usando println().