在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
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号