不用其他变量实现两变量互换

在对变量进行互换是,将创建一个临时变量来共同完成互换,临时变量的创建增加了系统资源的消耗。使用异或运算进行互换,而不使用第三变量,可以更高效运行。

 

public class VariableExchange {

public static void main(String[] args){

int a = 3;

int b = 4;

System.out.println("a = "+a+"   b = "+b);

int c;

c = a;

a = b;

b = c;

System.out.println("a = "+a+"   b = "+b);

int A = 3;

int B = 4;

System.out.println("A = "+A+"   B = "+B);

A = A^B;

B = B^A;

A = B^A;

System.out.println("A = "+A+"   B = "+B);

}

}

 

0

0

0

0

1

0

1

0

10

0

0

0

0

0

0

1

1

3

0

0

0

0

1

0

0

1

9

10^3的运算结果为9

如果C1 = A1^B1;

那么C1^A1 ==B1;

 

同理C1^B1 ==A1;

 实例

A(C1) = A(A1)^B(B1);  

B = B(B1)^A(C1);  

A = B(A1)^A(C1);

 

posted @ 2018-03-31 09:42  苇小宝  阅读(250)  评论(0编辑  收藏  举报