一切知識都是爲了拿來用的,若不用學來幹啥?
需求:不用其它變量,實現兩個變量的值互換
這是比較常見的 java 初級題目,考察位運算符:異或。
關鍵代碼:
int a = 10;
int b = 20;
System.out.println("運算前:a= " + a + "\tb= " + b);
a = a ^ b;
b = b ^ a;
a = a ^ b;
System.out.println("運算後:a= " + a + "\tb= " + b);
結果:
運算前:a= 10 b= 20
運算後:a= 20 b= 10
關鍵知識點:
^ :按位異或運算,當兩個操作數的二進制表示相同(同爲 0 或同爲 1)時,結果爲 0,否則爲 1.