我有一个问题

damocles8p 2004-07-14 12:26:57
public class Problem
{
public static void main(String[] args)
{
int i=0;
while(i<10)
{
i+=i++;
System.out.println(i);
}
}
}
看上去有结果,运行却不行!
有人知道为什么吗?
...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningIII 2004-07-14
  • 打赏
  • 举报
回复
赫赫
i=0;
i+=i++;

Process:
i+=i ==>t
i++
t==>i
flyforlove 2004-07-14
  • 打赏
  • 举报
回复
死循环
i+=i++;等价于i=i+i++;
i永远等于0;
若不明白为什么i=i+i++; 后i=0

查阅以前的帖子i=0; i=i++;后还等于0的帖子。
ningIII 2004-07-14
  • 打赏
  • 举报
回复
Process:
i+=i ==>t
i++
t==>i


i+=i做完之后将值存在一个临时变量中,待i++做完之后将该临时变量存储的值在赋给i,所以一直是0。
damocles8p 2004-07-14
  • 打赏
  • 举报
回复
谢谢大家的帮助,我明白了,谢谢!!!
damocles8p 2004-07-14
  • 打赏
  • 举报
回复
这是我同学遇到的一个问题,我只是想知道其中的道理,希望能再解释得清楚一点,给大家添麻烦了!
sswt 2004-07-14
  • 打赏
  • 举报
回复
小学数学:0+0=0
1+1=2
hl_longman 2004-07-14
  • 打赏
  • 举报
回复
我个人认为:
这样写是可以但有必要吗?
damocles8p 2004-07-14
  • 打赏
  • 举报
回复
那再请教一下,为什么i=1之类的可以呢?

62,622

社区成员

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

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