春风博客

春天里,百花香...

导航

<2009年6月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

公告

MAIL: junglesong@gmail.com
MSN: junglesong_5@hotmail.com

Locations of visitors to this page

常用链接

留言簿(11)

随笔分类(224)

随笔档案(126)

个人软件下载

我的其它博客

我的邻居们

最新随笔

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

不使用中间变量交换两个整型值的方法

int x=10;
int y=20;

// 不使用中间变量使x,y换值的方法,有溢出的危险性
x=x+y;// 现在x变成了两者之和
y=x-y;// 现在y=(x+y)-y 等于 y=x,换值成功
x=x-y;// 现在x=(x+y)-y 等于 x=(x+y)-x因为刚才y已经变成x的值了,等于x=原来的y值,换值成功    

System.out.println(
"x="+x+" y="+y);
输出:
x=20 y=10

posted on 2008-06-11 12:02 sitinspring 阅读(1785) 评论(6)  编辑  收藏 所属分类: 算法数据结构

评论

# re: 不使用中间变量交换两个整型值的方法 2008-06-11 16:55 懒人

费了半天劲才看懂  回复  更多评论   

# re: 不使用中间变量交换两个整型值的方法[未登录] 2008-06-12 09:59 terry

楼主,要考虑溢出啊!  回复  更多评论   

# re: 不使用中间变量交换两个整型值的方法 2008-06-15 12:52 育平

明白了,原来可以这样做!  回复  更多评论   

# re: 不使用中间变量交换两个整型值的方法 2008-06-15 13:58 ZelluX

即使有溢出也不会出问题的,但是看似省了个变量,其实效率还不如用个临时变量。。。  回复  更多评论   

# re: 不使用中间变量交换两个整型值的方法 2008-06-18 17:04 如坐春风

@ZelluX

对,代码首先是可读性,这种交换值的方式只有观赏价值,项目里面是不能这样写的。  回复  更多评论   

# re: 不使用中间变量交换两个整型值的方法 2009-06-01 22:20 qwe

玩的是思路!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
sitinspring(http://www.blogjava.net)原创,转载请注明出处.