一般實現兩個變量之間的互換要用第三個變量,這樣做可以,但創建新變量,增加了系統開銷。如果要交換的變量時兩個整數型變量,可以用更高效的方法。例如:^(異或)操作,舉例如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
import java.util.Scanner; public class VariableExchange { public static void main(String args[]){ Scanner scan = new Scanner(System.in); System.out.println( "請輸入第一個整數變量:" ); long A = scan.nextLong(); System.out.println( "請輸入第二個整數變量:" ); long B = scan.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); } } |
輸出結果:
1
2
3
4
5
6
7
8
9
|
run: 請輸入第一個整數變量: 100 請輸入第二個整數變量: 200 A=100 B=200 執行變量互換后...... A=200 B=100 BUILD SUCCESSFUL (total time: 5 seconds) |