1. 程式人生 > >java 實現兩個變數的互換(不借助第三個變數,即中間變數、臨時變數)

java 實現兩個變數的互換(不借助第三個變數,即中間變數、臨時變數)

變數的互換常用在陣列排序演算法中,當判斷兩個陣列元素互動時,需要藉助第三個變數來實現,即需要建立一個臨時變數來共同完成互換,但是臨時變數的建立增加了系統資源的消耗,如果需要交換的是兩個整數型別的變數,那麼可以使用更高效的方法:

        建立一個類,在該類的主方法中建立掃描器來接受兩個變數值,那麼可以位運算子中異或運算子來實現兩個變數的交換。

import java.util.Scanner;

public class VariableExchange {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner = new Scanner(System.in);

System.out.println("請輸入變數a的值");
long a = scanner.nextLong();

System.out.println("請輸入變數b的值");
long b = scanner.nextLong();

System.out.println("a = " + a +"\tb = " + b);
System.out.println("執行變數互換!!");
a = a^b;
b = b^a;
a = a^b;
System.out.println("a = " + a + "\tb = " + b);
}

}