这里主要用两种方法实现
public static void jiaohuang(int a,int b){
a=a+b;
b=a-b;
a=a-b;
System.out.println("a的值为:"+a);
System.out.println("b的值为:"+b);
}
public static void jiaohuan2(int a,int b){
a=a^b;
b=a^b;
a=a^b;
System.out.println("a的值为:"+a);
System.out.println("b的值为:"+b);
}
第一个方法就不多说了,就是通过加减变换来实现。
第二种方法是通过用^(异或运算)来实现的,先来了解异或运算符的作用

一个规律:一个数同时与两个相同的数做异或运算得出的值等于它本身
规律的推导过程:1^2 ^1(ps:利用规律结果应该是2,验证一下)
1:0000 0001
2:0000 0010
1^2:0000 0011
1^2 ^1:00000010(ps:推导出来结果是2)
所以记住这个规律,知道这个规律应该就能看懂第二个方法了。
本文介绍两种在Java中不使用第三个变量进行数值交换的方法。一种是通过加减操作,另一种是利用异或运算符,文中详细解释了异或运算符的工作原理及其实现交换的逻辑。
301

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



