Introducción al intercambio en Java

Como todos sabemos, Java es uno de los lenguajes más populares en lo que respecta al desarrollo de software. Comprender sus conceptos que se usan con frecuencia es muy importante y puede ayudar al programador a usarlos incluso para resolver problemas grandes. El intercambio es uno de los conceptos que se usa con frecuencia en los programas. Intercambio significa el intercambio de valores de variables. Se hace con los datos en la memoria. El intercambio se puede hacer con la ayuda de una variable temporal o sin usar la variable temporal. La mayoría de los algoritmos de clasificación y búsqueda utilizan el intercambio de valores de variables. En este tema, vamos a aprender sobre el intercambio en Java.

Intercambio de dos números en Java

Echemos un vistazo con la ayuda de algún ejemplo

Caso 1: Intercambio de números usando la variable temporal

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

Salida:

Los valores originales antes del intercambio son:
El valor del número 1 es 10
El valor del número 2 es 20 Los valores después del intercambio son:
El valor del número 1 es 20
El valor del número 2 es 10

Explicación

En el programa anterior, teníamos dos variables llamadas num1 y num2 con los valores de 10 y 20 respectivamente. Se utiliza una variable temporal con el nombre temp del mismo tipo de datos de las variables num1 y num2. El intercambio se procesa en 3 pasos:

  1. El valor de 'num1' (es decir, 10) se asigna a la variable temporal 'temp', por lo que ahora el valor de 'temp' es 10.
  2. El valor de 'num2' (es decir, 20) se asigna a la variable 'num1', es decir, ahora el valor de la variable 'num1' es 20.
  3. El valor de la variable 'temp' (es decir, 10) asignado en el paso 1 ahora se asigna a la variable 'num 2', es decir, el valor de la variable 'num2' se convierte en 10 ahora.

Finalmente, los valores de las variables se intercambian o intercambian y los valores intercambiados se imprimen en la consola.

Caso 2: Intercambio de dos números sin usar la variable temporal

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

Salida:

Los valores originales antes del intercambio son:
El valor del número 1 es 10
El valor del número 2 es 20 Los valores después del intercambio son:
El valor del número 1 es 20
El valor del número 2 es 10

Explicación

En el ejemplo anterior, se siguen las matemáticas simples para intercambiar los números que se realizan en 3 pasos:

  1. El valor de num1- num2 (es decir, 10-20 = -10) se almacena en la variable 'num1'. Ahora num1 = -10.
  2. Valor de num1 + num2 (es decir, -10 + 20 = 10) almacenado en la variable 'num2'. Ahora num2 = 10.
  3. El valor de num2- num1 (es decir, 10 - (-10)) = 20) se almacena en la variable 'num1'. Ahora, num1 = 20.

Intercambio de tres números en Java

Estudiemos el intercambio de tres números con la ayuda de algún ejemplo

Caso 1: Intercambio de números sin usar una variable temporal

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

Salida:

Los valores originales antes del intercambio son:
El valor del número 1 es 10
El valor del número 2 es 20
El valor del número 3 es 30 Los valores después del intercambio son:
El valor del número 1 es 30
El valor del número 2 es 10
El valor del número 3 es 20

Explicación

En el ejemplo anterior, se siguen las matemáticas simples para intercambiar el valor de 3 variables. Se trata de 4 pasos que se mencionan a continuación:

  1. El valor de num1 + num2 + num3 (es decir, 10 + 20 + 30 = 60) se asigna a la variable 'num1'. Entonces num1 = 60.
  2. El valor de num1- (num2 + num3) (es decir, 60 - (20 + 30) = 10) se asigna a la variable 'num2'. Entonces num2 = 10.
  3. El valor de num1- (num2 + num3) (es decir, 60 - (10 + 30) = 20) se asigna a la variable 'num3'. Entonces num3 = 20.
  4. El valor de num1- (num2 + num3) (es decir, 60 - (10 + 20) = 30) se asigna a la variable 'num1'. Entonces num1 = 30.

Los valores intercambiados de 3 variables se imprimen en la consola.

Caso 2: Intercambio de 3 números usando una variable temporal

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

Salida:

Los valores originales antes del intercambio son:
El valor del número 1 es 10
El valor del número 2 es 20
El valor del número 3 es 30 Los valores después del intercambio son:
El valor del número 1 es 20
El valor del número 2 es 30
El valor del número 3 es 10

Explicación

En el programa anterior, el intercambio de 3 números se realiza en 4 pasos simples y se usa una variable temporal 'temp':

  1. El valor de num1 (es decir, 10) se asigna a la variable temporal. Entonces, ahora la temperatura tiene un valor de 10.
  2. El valor de la variable num2 (es decir, 20) se asigna a num1, por lo que el valor num1 es 20 ahora.
  3. Valor si la variable num3 (es decir, 30) se asigna a la variable num2, por lo que num2 tiene el valor 30.
  4. El valor de la variable temporal (es decir, 10) se asigna a la variable num3, por lo que num3 tiene el valor 10 ahora.
    Los valores de los 3 números se intercambian e imprimen en la consola.

Conclusión

Como se explicó anteriormente, el intercambio se realiza de las dos formas mencionadas anteriormente. Aunque el intercambio en Java también se puede hacer usando call by reference que usa la dirección de números para valorar los valores.

Artículos recomendados

Esta es una guía para el intercambio en Java. Aquí discutimos el intercambio de dos números y tres números en Java con y sin el uso de variables temporales. También puede echar un vistazo a los siguientes artículos para obtener más información:

  1. CardLayout en Java
  2. Intercambio en Python
  3. Hilo Ciclo de vida en Java
  4. Selección Ordenar en Java
  5. ¿Cómo funciona el intercambio en C ++?
  6. Intercambio en PHP