Java实现 两个变量互换 但是不借助第三个变量
具体代码如下:
package package2;
import java.util.Scanner;
/**
* 实现两个变量的互换(不借助第3个变量)
* @author asus
* 变量的互换常见于数组排序算法中,当判断两个数组元素需要交换时,将创建
* 一个临时变量来共同完成互换,临时变量的创建增加了系统资源的消耗。如果
* 需要交换的是两个整数类型的变量,那么可以使用更高效的方法。
* 在main方法中创建扫描器对象接收用户输入两个变量值,然后通过位运算中的
* 异或运算符"^"实现两个变量的互换。
*/
public class VariableExchange {
public static void main(String[] args) {
// TODO Auto-generated method stub
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);
}
}