美文网首页Java 小细节
不借助第三个变量交换两个变量的值

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

作者: 谢随安 | 来源:发表于2017-09-27 17:09 被阅读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

    相关文章

      网友评论

        本文标题:不借助第三个变量交换两个变量的值

        本文链接:https://www.haomeiwen.com/subject/fayuextx.html