歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> 兩個變量交換的四種方法(Java)

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

日期:2017/3/1 9:06:49   编辑:Linux編程

對於兩種變量的交換,我發現四種方法,下面我用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