哪位能解释一下下面a与b是怎么实现位置交换的,求详细过程,我看了半天也没弄懂!多谢了!!
public class TestTalk {
public static void swapAb(int a, int b) {
//以下位置交换算法怎么理解
a = a ^ b;
b = a ^ b;
a = a ^ b;
}
public static void main(String[] args) {
int i = 10, j = 5;
TestTalk.swapAb(i, j);
System.out.println(i); //测试时,i和j的输出值并没有看到交换位置!这是为什么!
System.out.println(j);
}
}
|
|