Dado que a y b son variables enteras, escriba un programa para intercambiar los valores en las dos variables a y b
Intercambiar datos a través de una variable intermedia
int a = 1,b = 10;
int temp = a ?//will El valor de a es; primero asignado a la variable intermedia temp
a = b; // Luego asigna el valor de b a a
b = temp // Finalmente, el valor almacenado en temp es Assign; el valor de a a b
System.out.println(a+" "+b);
Este proceso de intercambio es como un anillo con tres valores en el anillo Asignar. valores a las variables anteriores (últimas) en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj. Para realizar el intercambio de datos, muchos métodos de clasificación también utilizan variables intermedias para colocar valores pequeños al frente y valores grandes al final.
El intercambio de datos entre dos variables se consigue mediante operadores de suma y resta sin utilizar variables intermedias.
int a = 10, b = 20;
a = a+b; //a=30 en este momento;
b = a-b; /b=30-20=10, a=30 permanece sin cambios
a = a-b; //a=30-10=20, a cambia
System.out.println( a+" "+b);
El intercambio de datos entre dos variables se logra mediante operadores de bits sin utilizar variables intermedias.
int a = 11, b = 14; //Binario: a=8 —— 1011, b=14 —— 1110
a = a^b; ^b, operación XOR, puede devolver 1 solo cuando los valores de los dígitos correspondientes son iguales; de lo contrario, devuelve 0
// Entonces a=a^b=1011^1110=1010; p>
b = a^b; ?// b=a^b=1010^1110=1011, es decir, b=el valor original de a
a = a^b; / a=a^b= 1010^1011=1110, es decir, a=el valor original de b
System.out.println(a+" "+b);