int x = 10; int y = 5;
第一种方法:(不推荐,有可能会超出int的取值范围,有弊端)
x = x + y; //10 + 5 = 15; --> x=15
y = x - y; //15 - 5 = 10; --> y=10
x = x - y; //15 - 10 = 5; --> x=5
结果:x=5,y=10
第二种方法:(使用^[位异或]来进行)
x = x ^ y; //x = 10 ^ 5
y = x ^ y; //y = 10 ^ 5 ^ 5 --> y=10
x = x ^ y; //x = 10 ^ 5 ^ 10 --> x=5
结论:一个数据对另外一个数据位异或两次,该数本身不变.