A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

比如int i1 = 1;
       int i2 =2;
不要第三个临时变量,怎么得到 int i1 = 2;int i2 = 1;



如果是String呢?

4 个回复

倒序浏览

哦哦,还有个方法需要用到异或的知识。就是一个数被另一个数异或两次其值不变。举个例子就是: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);
}
}
回复 使用道具 举报
使用异或就可以,楼上解释的已经比较清楚了
回复 使用道具 举报
i1=i1+i2
i2=i1-i2
i1=i1-i2
回复 使用道具 举报
异或,原理都一样的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马