歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

對於兩種變量的交換,我發現四種方法,下面我用Java來演示一下。

1.利用第三個變量交換數值,簡單的方法。

(代碼演示一下)

class TestEV
//創建一個類
{
    public static void main(String[]args)
    {
        int x =5,y=10; //定義兩個變量
         
        int temp = x;    //定義第三臨時變量temp並提取x值
        x = y;        //把y的值賦給x
        y = temp;      //然後把臨時變量temp值賦給y
       
        System.out.println("x="+x+"y="+y);
       
    }
   
}

2.可以用兩個數求和然後相減的方式進行數據交換,弊端在於如果 x 和 y 的數值過大的話,超出 int 的值會損失精度。

(代碼演示一下)

class TestEV
//創建一個類
{
    public static void main(String[]args)
    {
        int x =5,y=10; //定義兩個變量
       
        x = x + y;        //x(15) = 5 + 10;
        y = x - y;        //y(5) = x(15) - 10;       
        x = x - y;        //x(10) = x(15) - y(5)
        System.out.println("x="+x+"y="+y);
       
    }
   
}

3.利用位運算的方式進行數據的交換,利用的思想原理是:一個數異或同一個數兩次,結果還是那個數,而且不會超出int范圍

(代碼演示一下)

class TestEV
//創建一個類
{
    public static void main(String[]args)
    {
        int x =5,y=10; //定義兩個變量
       
                x = x^y;
        y = x^y;  //y=(x^y)^y
        x = x^y;  //x=(x^y)^x
        System.out.println("x="+x+"y="+y);
       
    }
   
}

4.最為簡單的,在打印輸出的時候直接交換變量

(代碼演示一下)

class TestEV
//創建一個類
{
    public static void main(String[]args)
    {
        int x =5,y=10; //定義兩個變量
       
        System.out.println("x="+y+"y="+x); //直接在輸出的時候交換
       
    }
   
}

Copyright © Linux教程網 All Rights Reserved