信手拈来 妙手偶得 » 日志 » 【整理】不使用中间变量交换两个整型值的方法
【整理】不使用中间变量交换两个整型值的方法
Junglesong 发表于 2008-06-11 21:43:34
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
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
收藏:
QQ书签
del.icio.us
订阅:
Google
抓虾
