如何不用中间变量交换两个变量的值

时间:2022-11-17 19:31:44

听到有的小伙伴面试被问到了这个题,就来放一波代码。

题目:

两个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);
}

至于这种异或运算有没有用呢?有大神给出了分析

有兴趣的少侠可以去看一下,再会。