兩個變數交換的四種方法(Java)
阿新 • • 發佈:2018-12-29
對於兩種變數的交換,我發現四種方法,下面我用Java來演示一下。
1.利用第三個變數交換數值,簡單的方法。
(程式碼演示一下)
1 class TestEV 2 //建立一個類 3 { 4 public static void main(String[]args) 5 { 6 int x =5,y=10; //定義兩個變數 7 8 int temp = x; //定義第三臨時變數temp並提取x值 9 x = y; //把y的值賦給x 10 y = temp; //然後把臨時變數temp值賦給y 11 12 System.out.println("x="+x+"y="+y); 13 14 } 15 16 } 17
2.可以用兩個數求和然後相減的方式進行資料交換,弊端在於如果 x 和 y 的數值過大的話,超出 int 的值會損失精度。
(程式碼演示一下)
1 class TestEV 2 //建立一個類 3 { 4 public static void main(String[]args) 5 {6 int x =5,y=10; //定義兩個變數 7 8 x = x + y; //x(15) = 5 + 10; 9 y = x - y; //y(5) = x(15) - 10; 10 x = x - y; //x(10) = x(15) - y(5) 11 System.out.println("x="+x+"y="+y); 12 13 } 14 15 }
3.利用位運算的方式進行資料的交換,
(程式碼演示一下)
1 class TestEV 2 //建立一個類 3 { 4 public static void main(String[]args) 5 { 6 int x =5,y=10; //定義兩個變數 7 8 x = x^y; 9 y = x^y; //y=(x^y)^y 10 x = x^y; //x=(x^y)^x 11 System.out.println("x="+x+"y="+y); 12 13 } 14 15 }
4.最為簡單的,在列印輸出的時候直接交換變數
(程式碼演示一下)
1 class TestEV 2 //建立一個類 3 { 4 public static void main(String[]args) 5 { 6 int x =5,y=10; //定義兩個變數 7 8 System.out.println("x="+y+"y="+x); //直接在輸出的時候交換 9 10 } 11 12 }