黑马程序员技术交流社区
标题:
不用第三者交换变量方法这么多!
[打印本页]
作者:
jiangweibin2573
时间:
2014-8-12 16:00
标题:
不用第三者交换变量方法这么多!
找找有实现不了的吗
//第1种办法
public void changeMethodA(int a, int b){
System.out.println(“changeMethodA交换之前\ta:”+a+”\tb:”+b);
a = a + b – (b = a);
System.out.println(“changeMethodA交换之后\ta:”+a+”\tb:”+b);
}
//第2种办法
public void changeMethodB(int a, int b){
System.out.println(“changeMethodB交换之前\ta:”+a+”\tb:”+b);
b = a + (a = b)*0;
System.out.println(“changeMethodB交换之后\ta:”+a+”\tb:”+b);
}
//第3种办法
public void changeMethodC(int a, int b){
System.out.println(“changeMethodC交换之前\ta:”+a+”\tb:”+b);
a = a + b;
b = a – b;
a = a – b;
System.out.println(“changeMethodC交换之后\ta:”+a+”\tb:”+b);
}
//第4种办法
public void changeMethodD(int a, int b){
System.out.println(“changeMethodD交换之前\ta:”+a+”\tb:”+b);
a = a * b;
b = a / b;
a = a / b;
System.out.println(“changeMethodD交换之后\ta:”+a+”\tb:”+b);
}
//第5种办法
public void changeMethodE(int a, int b){
System.out.println(“changeMethodE交换之前\ta:”+a+”\tb:”+b);
a = a^b;
b = a^b;
a = a^b;
System.out.println(“changeMethodE交换之后\ta:”+a+”\tb:”+b);
}
复制代码
作者:
Bule丶
时间:
2014-8-12 16:08
搜噶,一个都不知道
作者:
张小楼
时间:
2014-8-12 16:51
原来只会那个异或的方法,其他几个还真不是很清楚
作者:
狐狸FMF
时间:
2014-8-12 16:56
第二种办法的原理是啥 没看懂
作者:
舍我其谁
时间:
2014-8-12 17:57
第四种方法其中有一个数为0,应该不行吧!
作者:
杨庆雷
时间:
2014-8-12 18:01
又学了几种
作者:
jackhai9
时间:
2014-8-12 18:25
学习了。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2