通过异或完成数值交换,既不用开辟临时变量,也不会影响交换后结果的精度。
class Exchange
{
public static void main(String[] args)
{
int m = 11;
int n = 6;
m = m ^ n;
n = m ^ n;
m = m ^ n;
System.out.println("m="+m+",n="+n);
}
}
11 ^ 6 ^ 11 = 6
11 ^ 6 ^ 6 = 11
通过异或完成数值交换,既不用开辟临时变量,也不会影响交换后结果的精度。
class Exchange
{
public static void main(String[] args)
{
int m = 11;
int n = 6;
m = m ^ n;
n = m ^ n;
m = m ^ n;
System.out.println("m="+m+",n="+n);
}
}
11 ^ 6 ^ 11 = 6
11 ^ 6 ^ 6 = 11