问题描述:如何实现实现两个变量的数值交换, 不允许定义三方变量
问题解答:
^(异或) :
现象: 相同为false,不同为true(处对象)
特点:一个数,被另外一个数,异或两次,该数本身不变。
public static void main(String[] args) {
int a = 10;
int b = 20;
a = a ^ b; // 10 ^ 20
b = a ^ b; // 10 ^ 20 ^ 20 --> 10
a = a ^ b; // 10 ^ 20 ^ 10 --> 20
System.out.println(a);
System.out.println(b);