变量的互换常见于数组排序算法中,当判断两个数组元素需要交换时,将创建一个临时变量,这样会增加系统资源的消耗,如果需要交换的时两个整数类型的变量,可以使用更高效的办法,代码如下:
import java.util.Scanner;
/**
* 实现两个变量的互换(不借助第3个变量)
*/
public class Example {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 创建扫描器
System.out.println("请输入变量A的值");
long A = scan.nextLong();// 接收第一个变量值
System.out.println("请输入变量B的值");
long B = scan.nextLong();// 接收第二个变量值
System.out.println("这两个变量为:"+"A=" + A + "\tB=" + B);
A = A ^ B;// 执行变量互换,异或运算
B = B ^ A;
A = A ^ B;
System.out.println("执行变量互换的结果为:"+"A=" + A + "\tB=" + B);
}
}
执行结果如下图所示: