不定义变量,交换a,b值

书中人 2022年04月11日 2,078次浏览

不定义变量,交换a,b值

// 一个数异或一个数两次等于自己
public static void main(String[] args) {
        int a = 10, b=20;
        //a此时变成了中间量
        a = a ^ b;
        //中间量在异或b就当相于 a ^ b ^ b = a 然后把a复制给b
        b = a ^ b;
        //此时b 等于原始a的值 然后a ^ b ^ b == a ^ b ^ a = b ,然后把b的值给a
        a = a ^ b;
        System.out.println(a);
        System.out.println(b);
    }