public class Test
{  
  public static void main(String[]args)
  {
        int a=2;//a:0000 0000 0000 0010
        int b=5;//b:0000 0000 0000 0101
/*a^=b相当于a=0000 0000 0000 0111
此时a已经改变了,所以b还保持着原值。位置异或相当于把两个数值整合到 一个中间
可变的符合体,在通过另外一个值获得另外一个值.此时的a在与b进行^可得到如下结果
a^=b;0000 0000 0000 0111^0000 0000 0000 000 0000 0000 0010=a.
具体步骤如下:
a^b^b=a
因为异或满足结合律,可以完全分解为:
a^(b^b);
进一步分解如下:
根据的定律b^b=0;
所以:
a^0=a;
*/
     System.out.println((a=(b=a^b)^a));
   }
 
}