NO.43 JAVA中交换两个变量

现定义两个变量,需要交换它们的值:

int a = 10;int b = 15;

1)定义临时变量(咬尾绕圈):

int temp = a; //temp = 10;

a = b; //a = 15;

b = temp; //b = 10;

多增加一个变量存值实现交换。

2)数学算法:

a = a + b; //a = 10 + 15 = 25;

b = a - b; //b = 25 - 15 = 10;

a = a - b; //a = 25 - 10 = 15;

理论上加减乘除都可以,如果不损失精度的话。

3)位运算:

a = a ^ b; //a = 0x1010 ^ 0x1111 = 0x0101 = 5;

b = a ^ b; //b = 0x0101 ^ 0x1111 = 0x1010 = 10;

a = a ^ b; //a = 0x0101 ^ 0x1010 = 0x1111 = 15;

^ 异或位运算:两个二进制数对应位的数相同为0,不同为1

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容