黑马程序员技术交流社区
标题:
交换两个变量的各种方式
[打印本页]
作者:
iamzk
时间:
2015-8-15 17:20
标题:
交换两个变量的各种方式
本帖最后由 iamzk 于 2015-8-15 17:24 编辑
以下是我总结的交换两个变量的各种方式
class ExchangeTest
{
public static void main(String []args)
{
int a = 4,b = 5;
System.out.println("原始:a=" + a + ",b=" + b);
//使用临时变量,无限制
int temp = a;
a = b;
b = temp;
System.out.println("交换:a=" + a + ",b=" + b);
//使用加法,可能会溢出
a = a + b;
b = a - b;
a = a - b;
System.out.println("交换:a=" + a + ",b=" + b);
//使用乘法,可能会溢出,且a,b不能为0
a = a * b;
b = a / b;
a = a / b;
System.out.println("交换:a=" + a + ",b=" + b);
//使用异或,只能用于整形,且两个数不能相同
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("交换:a=" + a + ",b=" + b);
//使用表达式,无限制
a = a + b - (b = a);
System.out.println("交换:a=" + a + ",b=" + b);
//使用表达式,无限制
a = b + (b = a)*0;
System.out.println("交换:a=" + a + ",b=" + b);
}
}
复制代码
欢迎大家继续补充,并帮忙指出其中的错误,谢谢!
QQ截图20150815170603.jpg
(45.3 KB, 下载次数: 8)
下载附件
2015-8-15 17:24 上传
作者:
zhao1991
时间:
2015-8-15 17:35
总结的很好
作者:
iamzk
时间:
2015-8-15 17:53
zhao1991 发表于 2015-8-15 17:35
总结的很好
恩,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2