两个数字交换的三种方法

      今天偶然看到了有一篇文章讲解了交换两个数字的方法,感觉很新颖,拿来说一下。

     这种问题通常都是我们在学习java基础的时候可能就会做一些小练习,相信大多数人都能够做出来,但是解决问题的办法多种多样,如何提高效率,最快才是我们追求的目标 。

    第一种 :人尽皆知,就是引入一个中间量。

   

int c=a;
    a=b;
    b=c;

 第二种:有个问题就是A+B可能会超过int的范围,这是这个方法的问题所在。

a=a+b;
b=a-b;
a=a-b;

第三种:这种方法效率最快,也是最厉害的方法,推荐使用。

a=a^b;
b=a^b;
a=a^b;


版权声明:本文为weixin_41751625原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。