实现代码如下图所示:
public class class01 {
public static void swap(int a,int b){
a=a^b;
b=a^b;
a=a^b;
System.out.println(a);
System.out.println(b);
}
public static void main(String[] args) {
swap(4,3);
}
}
由于异或运算具有交换律和结合律两个性质,当传入两个参数a和b。
第一步:
a=a^b;第二步:
b=a^b^b; 由异或运算的结果知,b=a第三步:
a=a^b; 由于b=a, -------->a=a^b^a=b
可知,实现了两个数的交换,实现交换的两个数的值的地址必须不同,两个数的值可以相同。