当我们在让两个变量的值进行交换时常常要用到第三个临时变量
例如下面我们想让变量a和b的值进行互换,我们的代码如下:
int a = 5;
int b = 6;
int c;
// 进行交换值操作
c = a;
a = b;
b = c;
如果采用上面的方法,我们必须要浪费掉一个临时变量,但是如果我们采用异或操作的话,就能直接利用这两个变量来实现,变量互换的操作。
public Change {
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 = a ^ b;
a = a ^ b;
System.out.println("A=" + a + "\tB=" + b);
}
}
利用上面的方法进行标量交换,还能使计算速度提高一个数量级。