一切知识都是为了拿来用的,若不用学来干啥?
需求:不用其它变量,实现两个变量的值互换
这是比较常见的 java 初级题目,考察位运算符:异或。
关键代码:
int a = 10;
int b = 20;
System.out.println("运算前:a= " + a + "\tb= " + b);
a = a ^ b;
b = b ^ a;
a = a ^ b;
System.out.println("运算后:a= " + a + "\tb= " + b);
结果:
运算前:a= 10 b= 20
运算后:a= 20 b= 10
关键知识点:
^ :按位异或运算,当两个操作数的二进制表示相同(同为 0 或同为 1)时,结果为 0,否则为 1.