起初我们交换变量是这样的。
如下,这种思维是非常的符合我们的思维的。
public class Test {
public static void main(String[] args) {
int temp,a = 3,b = 5;
temp = a;
a = b;
b = temp;
System.out.println("交换后的a是:"+a+" b是:"+b);
}
}
二进制交换变量
然后最近我同学搞了一种更加牛逼的交换。也就是二进制的交换
我这里就偷学了一下
public class Test {
public static void main(String[] args) {
int temp,a = 3,b = 5;
temp = a^b;
a = temp^a;
b = temp^b;
System.out.println(a);
System.out.println(b);
}
}
很显然,这两种结果都是一样的。
但是二进制总是更快的。