兩個變量交換的四種方法(Java)


對於兩種變量的交換,我發現四種方法,下面我用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.利用位運算的方式進行數據的交換,利用的思想原理是:一個數異或同一個數兩次,結果還是那個數,而且不會超出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;
 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 }      

 

 

  

 

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM