新手请教while语句问题

tyoutetu 2016-02-01 09:55:02
public class HelloJava {
public static void main(String args[]){
int x = 1;
int sum = 0;
int y = 1;
while (x<10){
sum = sum + x;
x++;
y = x++;
}
System.out.println(sum);
}
}
我想做个最简单的计算从1到9的和的程序。就是这个样子了,程序运行并不报错,但是输出的结果为25,我怎么算都算不出来这25是怎么来的。
请问可不可以告诉我这个程序是怎么运行的?
...全文
278 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
网络咖啡 2016-02-11
  • 打赏
  • 举报
回复
循环内部有2个x++,相当于一个循环x增加了2
Earl_yuan 2016-02-02
  • 打赏
  • 举报
回复
引用 2 楼 tyoutetu 的回复:
谢谢啊,我还想问一下, 假如说把中间的while语句变成这样 while (x<10){ sum = sum + y; x++; y = x++; } 输出结果就是21 while (x<10){ sum = sum + y; y = x++; x++; } 这样子的话,输出结果就是17 这两个数又是怎么来的? 不好意思,我有点笨,
输出21和17是因为你涉及到了x++的赋值,单独使用的话,x++与x=x+1没区别,但是一旦有赋值操作了了,你就需要将x++看作一个整体,所以是先将x++的值赋给y之后,再进行+1计算。根据这个,你看一下你输出21和17的那两段代码,你应该就能理解为什么是这么输出的了。
tyoutetu 2016-02-02
  • 打赏
  • 举报
回复
明白了,我又用eclipse的调试一步一步看了一下,明白了。 谢谢。
北城半夏1234 2016-02-02
  • 打赏
  • 举报
回复
整个过程就是1+3+5+7+9
tyoutetu 2016-02-01
  • 打赏
  • 举报
回复
谢谢啊,我还想问一下, 假如说把中间的while语句变成这样 while (x<10){ sum = sum + y; x++; y = x++; } 输出结果就是21 while (x<10){ sum = sum + y; y = x++; x++; } 这样子的话,输出结果就是17 这两个数又是怎么来的? 不好意思,我有点笨,
qq_30172081 2016-02-01
  • 打赏
  • 举报
回复
你的while里面x++出现了两次,sum分别加的是1,3,5,7,9

13,100

社区成员

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

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