黑马程序员技术交流社区
标题:
用尽可能多的方式实现两个整数值互换(史上最全)!
[打印本页]
作者:
Joschi
时间:
2016-3-24 18:59
标题:
用尽可能多的方式实现两个整数值互换(史上最全)!
/*
* 需求:用尽可能多的方法实现两个整数的互换
*/
public class ExchangeTest {
public static void main(String[] args) {
int a = 10;
int b = 20;
//方式1 引入第三方变量(开发中用)
int temp = a;
a = b;
b = temp;
System.out.println("a:"+a+",b:"+b);
System.out.println("-----------------");
//方式2 a+b和的方式
a = a + b; //30
b = a - b; //30 - 20 = 10
a = a - b; //30 - 10 = 20
System.out.println("a:"+a+",b:"+b);
System.out.println("-----------------");
//方式3 异或的方式
a = a ^ b;
b = a ^ b; //a^b^b = a
a = a ^ b; //a^b^a = b
System.out.println("a:"+a+",b:"+b);
System.out.println("-----------------");
//方式4 一句话搞定加减法
b = (a + b) - (a = b);
System.out.println("a:"+a+",b:"+b);
System.out.println("-----------------");
//方式5 一句话搞定乘除法
b = (a*b)/(a=b);
System.out.println("a:"+a+",b:"+b);
System.out.println("-----------------");
}
}
复制代码
作者:
lgdbest
时间:
2016-3-24 19:19
就第一种最常用 其他和没有一样的
作者:
天生player
时间:
2016-3-24 19:24
其实多学一点更好,因为可能会碰到不同的问题,就需要用到这个了,谢谢楼主
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2