Java中使用异或语句实现两个变量的互换

时间:2022-02-02 15:24:55

一般实现两个变量之间的互换要用第三个变量,这样做可以,但创建新变量,增加了系统开销。如果要交换的变量时两个整数型变量,可以用更高效的方法。例如:^(异或)操作,举例如下:

?
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)