位运算是一种很神奇的运算,有非常多的应用,下面我使用位运算,来实现在不创建新临时变量情况下使用位运算来交换两个数的值。
原理是,A^A=0,;
A^0=A;
下面是具体实现:
/**
* Created with IntelliJ IDEA.
* Description:
* User: Y
* Date: 2019-07-15
* Time: 10:19
*/
public class Exchange {
public static int[] exchangeAB(int[] AB) {
AB[0] = AB[0] ^ AB[1];
AB[1] = AB[0] ^ AB[1];
AB[0] = AB[0] ^ AB[1];
return AB;
}
public static void main(String[] args) {
int[] AB = {2, 3};
System.out.println(AB[0] + " " + AB[1]);
exchangeAB(AB);
System.out.println(AB[0] + " " + AB[1]);
}
}
下面是运行结果