平常情况下都是使用中间变量进行交换两个数值,但是这会额外多出空间,但是使用异或(^)则会节省空间且并不会影响数值精度,关于异或交换数值的方法如下:
a^=b
b^=a
a^=b
测试一下:
public static void main(String[] args){
int a=0;
int b=1;
a^=b;
b^=a;
a^=b;
System.out.println(a+" "+b);
}
输出: