Java中如何不用中间变量来使两个变量交换值

来源:互联网 发布:淘宝兼职招聘网 编辑:程序博客网 时间:2024/06/05 11:37

 当我们在让两个变量的值进行交换时常常要用到第三个临时变量
例如下面我们想让变量a和b的值进行互换,我们的代码如下:

int a = 5;int b = 6;int c;// 进行交换值操作c = a;a = b;b = c;

  如果采用上面的方法,我们必须要浪费掉一个临时变量,但是如果我们采用异或操作的话,就能直接利用这两个变量来实现,变量互换的操作。

public Change {    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);        // 进行变量交换操作        a = a ^ b;        b = a ^ b;        a = a ^ b;        System.out.println("A=" + a + "\tB=" + b);    }}

利用上面的方法进行标量交换,还能使计算速度提高一个数量级。

0 0
原创粉丝点击