黑马程序员技术交流社区
标题:
不借助第三变量,交换两变量的值
[打印本页]
作者:
求学之路
时间:
2015-8-10 10:20
标题:
不借助第三变量,交换两变量的值
int a=12,b=7;
a=a+b;
b=a-b;
a=a-b;
System.out.println("a="+a+"\tb="+b);
作者:
徐鹏辰
时间:
2015-8-10 13:18
还有一种技巧的方式:异或同一个数
int a=12,b=7;
a=a^b;
b=a^b;//a=(a^b)^b
a=a^b;//(a^b)^a
System.out.println("a="+a+"\tb="+b);
作者:
徐鹏辰
时间:
2015-8-10 13:20
楼主的这种方式有局限性,当a和b很大时,a+b的和易超出int的范围。
作者:
芝麻糊
时间:
2015-8-10 16:03
temp = a;
a = b;
b = temp;
不是效率最高的,但绝对是最容易让人理解的,个人还是喜欢这样,看着舒服,作为程序员来说看代码的时间远远超出写代码的时间
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2