packagecom.zby.bubble;
/*** 三種方法交換兩個整數的值
* *
@author
zby * */
public
class
exchange
/*** 使用乙個臨時變數交換,優點:對於其他型別同樣適用。
* *
@param
a *
@param
b
*/public
static
void exchange1(int a, int
b)
/*** 重點:乙個整數異或另乙個整數兩次,得到的還是這個原來的數。優點:不引入臨時變數;缺點:只能對整數使用。
* *
@param
a *
@param
b
*/public
static
void exchange2(int a, int
b)
/*** 注意:加減法交換可能導致溢位,但是,沒影響!!!!!溢位去又溢回來,結果是對的,是可以放心用的!!!!!之前進入誤區以為溢位會有什麼問題,然而並沒有。
* *
@param
a *
@param
b
*/public
static
void exchange3(int a, int
b)
public
static
void
splitline()
}
----------華麗麗的分割線----------使用臨時變數法進行交換,引入第三方變數交換之前:a=2147483647,b=2147483646交換之後:a=2147483646,b=2147483647使用臨時變數法進行交換,引入第三方變數
交換之前:a=99,b=100交換之後:a=100,b=99使用臨時變數法進行交換,引入第三方變數
交換之前:a=-2147483648,b=-2147483647交換之後:a=-2147483647,b=-2147483648
----------華麗麗的分割線----------使用異或法進行交換,不引入第三方變數
交換之前:a=2147483647,b=2147483646交換之後:a=2147483646,b=2147483647使用異或法進行交換,不引入第三方變數
交換之前:a=99,b=100交換之後:a=100,b=99使用異或法進行交換,不引入第三方變數
交換之前:a=-2147483648,b=-2147483647交換之後:a=-2147483647,b=-2147483648
----------華麗麗的分割線----------使用加減法進行交換,不引入第三方變數
交換之前:a=2147483647,b=2147483646交換之後:a=2147483646,b=2147483647使用加減法進行交換,不引入第三方變數
交換之前:a=99,b=100交換之後:a=100,b=99使用加減法進行交換,不引入第三方變數
交換之前:a=-2147483648,b=-2147483647交換之後:a=-2147483647,b=-2147483648
----------華麗麗的分割線----------
交換兩個變數的三種方法
public static void main string args num1 2,num2 1前提 兩個變數相加的值不能溢位 public static void main string args num3 20,num4 10異或 1.任意乙個變數x與其自身進行異或運算,結果為0,即x x 0...
五種方法交換兩個整數
備註 int 範圍 2 31 2 31 1 即 2147483648 2147483647 long long 範圍 2 63 2 63 1 即 9223372036854775808 9223372036854775807 第一種方法 三變數法 特點 通用性強,簡潔易懂 includeusing ...
交換兩個數的三種方法
1.使用臨時變數 public static void main string args throws exception2.不使用臨時變數 加減法 注意int範圍 public static void main string args throws exception3.不適用臨時變數 使用位運算...