i++问题

quiton 2006-03-28 11:15:41
class TestI
{
public static void main(String [] args)
{
int i=0;
i=i++ + ++i;
System.out.println(i);
}
}

这段程序结果为2,请问其执行过程是什么样的!
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
i=i++,i=1;++i=1+1=2
lyazure 2006-03-29
  • 打赏
  • 举报
回复
= =#
上面两位....
先计算i++ 先返回0,再增加i.得i=1;
再计算++i, 先增加1,再返回i值2
最后计算0+2
所以结果为2
gwolf 2006-03-29
  • 打赏
  • 举报
回复
应该是这样:
首先i=0
然后++i=1
然后0+1=1
然后1++=2
chdbj 2006-03-29
  • 打赏
  • 举报
回复
i=i++ + ++i; 赋值运算是从右往左算的,过程就向gwolf的似的,很清楚。
Student02370236 2006-03-28
  • 打赏
  • 举报
回复
i初始为0,先计算++i,这时i=1,所以i=i++ + ++i==>i=i+i(i=1);的结果为2
不过建议楼主不要写这样可读性极差的代码,不利于程序的维护...
到最后你会被搞得一个头变两个大...

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧