1.临时变量法
public class Test {
public static void main(String[] args) {
int a = 7;
int b = 89;
int c;//定义临时变量c
c = a;
a = b;
b = c;
System.out.println("a=" + a);
System.err.println("b=" + b);
}
}
输出结果:
a=89
b=7
2.求和法
public class Test {
public static void main(String[] args) {
int a = 4;
int b = 98;
a = a + b;
b = a - b;
a = a - b;
System.out.println("a=" + a);
System.err.println("b=" + b);
}
}
输出结果:
a=98
b=4
3.异或法
一个数 异或 另一个数 两次 结果还是它本身;
比如3 ^ 4 ^ 4 = 3;
3: 00000011
^
4: 00000100
----------------------------------
= 00000111
^
4: 00000100
--------------------------
= 00000011
计算结果与3相同;
public class Test {
public static void main(String[] args) {
int a = 55;
int b = 33;
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("a=" + a);
System.err.println("b=" + b);
}
}
输出结果:
a=33
b=55
本文介绍了三种交换两个整数值的方法:1.使用临时变量,2.通过求和操作,3.利用异或运算。异或法基于异或运算的性质,即一个数异或同一个数两次结果不变,实现无额外变量的值交换。
1094

被折叠的 条评论
为什么被折叠?



