交換兩個變數的值
阿新 • • 發佈:2021-01-13
交換兩個變數的值
前言
基於java編寫的簡單交換兩個變數的值。
可以作為參考 ,如果你們有什麼好的方法可以分享,一起學習。
方法一:
通用的方案:適用於任意的資料型別
class Swap1{
public static void main(String[] args){
int x = 1;
int y = 2;
/*
通用的方案:適用於任意的資料型別
藉助於第三個通樣型別的臨時變數
*/
int temp = x;//x變數中值就賦值給了temp temp = 1
x = y;//再把y中的值放到x中,x = 2
y = temp;//再把temp中的值賦值給y y=1
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}
方法二:
只適用於int等整數型別
class Swap2{
public static void main(String[] args){
int x = 1;
int y = 2;
/*
方案二:只適用於int等整數型別
*/
x = x ^ y;
y = x ^ y;//(新的x) ^ 原來的y = (原來的x ^ 原來的y) ^ 原來的y = 原來的x (求不同)
x = x ^ y;//(新的x) ^ 新的y = (原來的x ^ 原來的y) ^ 原來的x = 原來的y
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}
方法三:
只適用於int等整數型別
class Swap3 {
public static void main(String[] args){
int x = 1;
int y = 2;
/*
方案三:只適用於int等整數型別
有風險,可能會溢位
*/
x = x + y;//有風險,可能會溢位
y = x - y;//(新的x) - 原來的y = (原來的x + 原來的y)- 原來的y = 原來的x
x = x - y;//(新的x) - 新的y = (原來的x + 原來的y) - 原來的x = 原來的y
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}
方法四:
極少用
class Swap4{
public static void main(String[] args){
int x = 1;
int y = 2;
/*
方案四:很少會用到,瞭解
*/
x = (y + x) - (y = x);
System.out.println("x = " + x);
System.out.println("y = " + y);
}
}
總結
上面是目前使用最多的交換兩個變數的值得方法,還有一些其他方法,用得不多,而且也會出現溢位等問題。掌握這四種也夠用了。