在java中,对变量进行互换时,将创建一个临时变量来共同完成互换,临时变量的创建增加了系统资源的消耗.如果需要交换的是两个整数类型的变量,则可以使用更高效的方法,使用异或运算符进行互换,而不使用第三变量
^按位异或 双目运算符 运算法则:两个操作数的二进制表示相同时结果为0,否则为1
public class VariableExchange { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); System.out.println("请输入变量A的值"); long A=scanner.nextLong(); System.out.println("请输入变量B的值"); long B=scanner.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); } }
运行结果如下:
请输入变量A的值 2 请输入变量B的值 5 A=2 B=5 执行变量互换-->> A=5 B=2