java-不用其他变量实现两变量互换

在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+"	B="+B);
        System.out.println("执行变量互换-->>");
        A=A^B;
        B=B^A;
        A=A^B;
        System.out.println("A="+A+"	B="+B);
    }
}

  运行结果如下:

请输入变量A的值
2
请输入变量B的值
5
A=2	B=5
执行变量互换-->>
A=5	B=2

  

原文地址:https://www.cnblogs.com/xu-jia-li/p/7211381.html