听到有的小伙伴面试被问到了这个题,就来放一波代码。
题目:
两个int类型的变量,要求交换他们的值,条件是不能用中间变量。
例:m=1,n=12,交换后变成m=12,n=1
接下来是代码:
public static void main(String[] args){
int m = 1;
int n = 12;
m ^= n;
n ^= m;
m ^= n;
System.out.println("m="+m+",n="+n);
}
顺便放一个常用的来增加点博客长度。
public static void main(String[] args){
int m = 1;
int n = 12;
int x;
x = m;
m = n;
n = x;
System.out.println("m="+m+",n="+n);
}
至于这种异或运算有没有用呢?有大神给出了分析
有兴趣的少侠可以去看一下,再会。