JAVA 两数数值交换

2025-12-16 15:02:30
推荐回答(2个)
回答1:

^=是按位异或操作(相异为真 相同为假)

a=a^b;
假设a=4 二进制表示为 0100
b=10 二进制表示为 1010
a=a^b = 1110 0x0E 14
a= 1110 b=1010
b= b^a =0100 0x04 4
a= 1110 b=0100

a=a^b = 1010 0x0A 10
a= 1010 b=0100
所以及交换了
原理就是加减法
如下
//a=4 b=10
a+=b ;
//a=14 b=10
b-=a;
//a=14 b=4
a-=b;
//a=10 b=4
完成交换

回答2:

1,你能做什么样的交换?
2,java只有两种可能,局部变量局部交换,或者成员方式的交换。
算我多嘴,除非你纯粹闲扯这个java,否则,为什么不动手写写代码然后再问?