Red de conocimiento informático - Conocimiento informático - Dado que a y b son variables enteras, escriba un programa para intercambiar los valores en las dos variables a y b

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;

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