Java 小细节

不借助第三个变量交换两个变量的值

2017-09-27  本文已影响28人  谢随安

复习基础的时候发现了一个比较有趣的交换变量值的方法。通常我们交换两个变量的值往往需要使用如下代码。

int a =1;
int b =2;
//交换a和b的值的通常方法
int tmp = a;
a = b;
b= tmp;

如何不借助第三个变量,仅在两个变量之间交换值呢?

int a =1;
int b =2;
//第一步
a = a+b;
//第二步
b = a - b;
//第三步
a = a - b;
  1. 经过第一步运算,a = a + b,b = b
  2. 经过第二步运算,a = a + b,b = a
  3. 经过第三步运算,a = b ,b = a
上一篇下一篇

猜你喜欢

热点阅读