// 在不引入其它变量的情况下交换两个数,利用两数之和来做
a = a+b; //a保存两数之和
b = a-b; //两数之和-b,即为a
a = a-b; //两数之和-b,此时的b已经变成了a,所以相当于sum-a=b
//还有另一种方法,利用两数之差,即两数之间的距离
a = b-a; //a=两者的差
b = b-a; //b = 原来的b-两数的距离==原来的a
a = a+b; //最终的a=两者之差+原来的a==原来的b
//已知x^k^k==x,即一个数与任意一个数作两次异或运算都会变成原来的自己
// 在不引入其它变量的情况下交换两个数,利用异或来做
a = a^b; //a保存两数异或的中间结果
b = a^b; //a两次异或b就变成原来的a,并将其赋值给了b
a = a^b; //b两次异或a就变成原来的b,并且将其赋值给了a
java(不引入中间变量)交换两个变量的值
最新推荐文章于 2023-06-08 16:53:22 发布