方法一:
int i = 3, j = 5; int c = i; i = j; j = c;
方法二:
int i = 3, j = 5; int n = i + j; i = n - j; j = n -i;
方法三:
int i = 3, j = 5; i = i + j; j = i - j; i = i - j;
方法四:
int i = 3, j = 5; i = j - i; j = j - i; i = j + i;
方法五:异或运算xor(^)
int i = 3, j = 5; i^ = j; // i = i ^ j j^ = i; // j = i ^ j i^ = j; // i = j ^ i
异或运算解析
0011(i) xor 0101(j) ---------------------- 0110(i) 0110(i) xor 0101(j) ---------------------- 0011(j) 0011(j) xor 0110(i) ---------------------- 0101(i)
窃以为第五种方法效率最高:位运算,cpu直接进行运算,效率高。