黑马程序员技术交流社区

标题: 收集交换两个变量的各种方法,有特别的最好了! [打印本页]

作者: nb123cw123    时间: 2015-9-29 22:24
标题: 收集交换两个变量的各种方法,有特别的最好了!
临时变量
                        int temp = a;
                        a = b;
                        b = temp;

位^运算符
                        a = a ^ b;
                        b = a ^ b;
                        a = a ^ b;
还有别的吗?


作者: maxwell247    时间: 2015-9-29 22:42
还有 a+b 和 a-b的写法。 但是都会出现溢出问题。
作者: nb123cw123    时间: 2015-9-29 23:13
a-b为什么会溢出呢?
作者: 0925李超月    时间: 2015-9-29 23:14
System.out.println("a="+b+",b="+a);
打印的结果也是互换的
适合取巧
作者: Linstar    时间: 2015-9-29 23:28
没有了。常用的。你都写出来了
作者: 周建星    时间: 2015-9-30 18:44
a*b  也可以,可能溢出
作者: 芝麻糊    时间: 2015-9-30 20:58
有你写出的那两种就够了
作者: yuzhouyichen    时间: 2015-9-30 22:04
加上二楼的说法  基本上就完全了  
作者: yxtyxj    时间: 2015-9-30 22:11
还有就是二楼那个
a = a + b;
b = a - b;
a = a - b;
作者: toypaoa    时间: 2015-9-30 23:29
a=(a+b)-(b=a);也可以
作者: 往事如风555    时间: 2015-9-30 23:48
谢谢分享
作者: lvfx    时间: 2015-9-30 23:57
一般就这三种吧
作者: 阿加斯冬季    时间: 2015-10-1 00:27
最安全的就这两种吧?什么a+b a*b的都很容易溢出的
作者: nb123cw123    时间: 2015-10-2 00:34
星哥疯了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2