java异或实现两个变量交换



java异或实现两个变量交换实例。通常实现两个变量之间的互换要用第三个变量,但创建新变量,增加了系统开销。如果要交换的变量时两个整数型变量,有没有更高效的方法呢?例如:^(异或)操作,举例如下:

import java.util.Scanner;
public class VariableExchange {
public static void main(String args[]){
Scanner scan = new Scanner(System.in);
System.out.println(“请输入第一个整数变量:”);
long A = scan.nextLong();
System.out.println(“请输入第二个整数变量:”);
long B = scan.nextLong();
System.out.println(“A=”+A+”\tB=”+B);
System.out.println(“执行变量互换后……”);
A = A^B; //执行变量互换
B = B^A;
A = A^B;
System.out.println(“A=”+A+”\tB=”+B);
}
}

输出结果:

run:
请输入第一个整数变量:
100
请输入第二个整数变量:
200
A=100 B=200
执行变量互换后……
A=200 B=100
BUILD SUCCESSFUL (total time: 5 seconds)