方法(一)
public static void main(String[] args) {
int a=3,b=7;
a=a+b;
b=a-b;//because a=a+b then b=a+b-b=a
a=a-b;//because a=a+b then a=a+b-a=a
System.out.println(a+"--"+b);
}
但是这样做有一个问题:当a,b相加的时候有可能产生越界,那么这种办法肯定不是最好的啦(两个数相加的时候,好的思维习惯就是考虑会不会越界,这个思想常被腾讯考),那么这种方法一定不是最佳方法了。
方法(二)
a=a^b;
b=a^b;
a=a^b;
异或是当两个位相同那么就是0不同才为1.