JAVA_三種方法實現兩個整形變數的數值交換
阿新 • • 發佈:2019-02-07
JAVA中的基本資料交換方式有三種:
1.藉助中間變數
例:int a = 10 , b = 20 , c; //建立了三個變數,這裡的c即為我們的中間變數,在隨後的數值交換中起到了一個交換"橋樑"的作用.
c = a;
a = b;
b = c;
這樣就藉助了中間變數來實現了兩個整形變數的數值交換.這也是實際應用中,應用最廣的一種方法,不僅適用於int型別,其他資料型別也同樣適用.
2.利用 ^(異或運算子)
在計算機底層對兩個資料所對應的補碼進行異或運算,若對應位相同則為0,若不相同則為1,最後再對所得到的補碼進行轉換,最終得到的數即為結果.
特點:一個數另外一個數同時異或兩次,結果依然還等於這個數 如: 10 ^ 20 ^ 20 == 10 ;
例:
int a = 10,b = 20;
a = a ^ b;
b = a ^ b; // b = a ^ b ^ b;
a = a ^ b; // a = a ^ b ^ a ^ b ^ b;
此方法適用於所有基本資料型別.
3.算數交換
在這裡就要利用數的一些特點來進行交換:
例:
int a = 10 , b = 20;
a = a + b; // 此時 a == 30 , b == 20;
b = a - b; // 此時 a == 30 , b == 10;
a = a - b; // 此時 a == 20 , b == 10;
此方法適用於除了boolean型別的其他基本資料型別如:整形,浮點型,字元型.