本帖最后由 谭立文 于 2012-9-16 13:45 编辑
public static void main(String[] args)
{
int a = 1,b = 2;
a^=b^(b^=a^b);
/*
* 异或运运输的特点是 0^0=0,0 ^ 1 = 1,1 ^ 1 = 0;
*/
//a ^ b 0001^0010 0011
//b = b ^(a^b) 0010^0011 0001 b最后一次值发生改变也是第一次
//b ^ 0001 = 0010 ^ 0001 = 0011 这里b的值并没有改变
//a = a ^ 0011 = 0001 ^ 0011 = 0010;
//b 最终值 = 0001;
//a 最终值= 0010; System.out.println("a=" + a);
System.out.println("b=" + b);
} |