Java基础应用之运算符(实现两个变量的互换(不借助第3个变量))
实例运行结果:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
实现过程:
创建VariableExchange2类,在该类的主方法中创建扫描器对象接收用户输入两个变量值,然后通过位运算中的异或运算符“^”实现两个变量的互换。
import java.util.Scanner;
public class VariableExchange2 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 创建扫描器
System.out.println("请输入变量A的值:");
long A = scan.nextLong();// 接收第一个变量值
System.out.println("请输入变量B的值:");
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);
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总结:
省略临时变量(第3个变量)实现两个整数类型变量的高效互换。
异或“^”和其它位运算符并不会改变变量本身的值,即“A^B;”没有任何意义,必须它运算结果赋值给一个变量。
本实例可参考Java基础应用之运算符(实现两个变量的互换(借助第3个变量))(超链接,待审核)