黑马程序员技术交流社区
标题:
两个变量,不定义第三个临时变量,怎么互换啊
[打印本页]
作者:
Monster
时间:
2015-6-6 08:21
标题:
两个变量,不定义第三个临时变量,怎么互换啊
比如int i1 = 1;
int i2 =2;
不要第三个临时变量,怎么得到 int i1 = 2;int i2 = 1;
如果是String呢?
作者:
pizhihui
时间:
2015-6-6 09:04
哦哦,还有个方法需要用到异或的知识。就是一个数被另一个数异或两次其值不变。举个例子就是:a^b^b=a。然后根据这个理论就可以交换两个数的值了。下面是具体的代码
class Demo{
public static void main(String[] args){
int a = 10,b = 20;
a = a ^ b;
b = a ^ b;//相当于b=a^b^b 即b=a;
a = a ^ b;//相当于a=a^b^a 即a=b;
System.out.println("a=" + a +"b=" + b);
}
}
作者:
流水0215
时间:
2015-6-6 09:12
使用异或就可以,楼上解释的已经比较清楚了
作者:
夏尔
时间:
2015-6-6 10:18
i1=i1+i2
i2=i1-i2
i1=i1-i2
作者:
乌鸦小生
时间:
2015-6-6 21:38
异或,原理都一样的
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2