1. 程式人生 > >JAVA_三種方法實現兩個整形變數的數值交換

JAVA_三種方法實現兩個整形變數的數值交換

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型別的其他基本資料型別如:整形,浮點型,字元型.