A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

张洋89

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 张洋89 中级黑马   /  2014-12-3 23:09  /  1983 人查看  /  20 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int i = 100;
while(true)
{
        If ( i++ > 100 )
                break;
        System.out.println(i);
}
A.  100
B.  101
C.  102
D.  103

评分

参与人数 1黑马币 +3 收起 理由
杨佳名 + 3

查看全部评分

20 个回复

倒序浏览
结果是  101吗
回复 使用道具 举报
小家伙 来自手机 中级黑马 2014-12-3 23:31:43
藤椅
++在后,先判断,再加加。
回复 使用道具 举报
先判断,然后+1,输出101,101>100,break
回复 使用道具 举报
i++>100,就是101啊
回复 使用道具 举报
先++,然后输出101,然后退出
回复 使用道具 举报
本帖最后由 杨佳名 于 2014-12-4 00:21 编辑

先判断100>100吗?  false,i自增变成101,走输出语句,打印i的值为101
再进入循环,判断101>100吗? true,i自增变成102,break跳出循环

点评

是我看错了楼上了 # #  发表于 2014-12-4 00:21
回复 使用道具 举报
杨佳名 发表于 2014-12-4 00:19
先判断100>100吗?  false,i自增变成101,走输出语句,打印i的值为101
再进入循环,判断101>100吗? true,i ...

但是打印的结果是101,i变成102的时候没打印
回复 使用道具 举报
教楼主一个方法,用Eclipse或者MyEclipse工具设置断点去观察值的变化!一目了然。
回复 使用道具 举报
先执行i>100,在++,然后输出结果:101
回复 使用道具 举报
关键在于i++,先if判断,然后自增1;如果是++i呢,楼主研究下。
回复 使用道具 举报
101是正确的
回复 使用道具 举报
不论是i++还是++i,只要运行后就自增1;
如果a=3,b=a++.结果是b=3;
如果是b=++a,结果是b=4.
回复 使用道具 举报
++在后,先判断再自增,第二次判断时i已经是101,break,打印i
回复 使用道具 举报
先++,然后输出101,然后退出
回复 使用道具 举报
输出的应该是输出101。我是这样理解i++和++i的,其实他们最终都会自增1。比如你这个比较的话,i++就表示,先拿i比较(理解为i=100>100),再自加1;如果是++i,那么就是先自加1,再比较(理解为i=101>100)。这个程序虽然if条件为假,i都自加了1的,所以会输出101。
回复 使用道具 举报
开始执行的时候i=100
i++就是101,101>100,break,输出101
回复 使用道具 举报
先判断100>100,后i自增,输出101
回复 使用道具 举报
论坛以前的题:你参考下
i=0;
i++;
sop(i++);
sop(++i);
结果是1,3.估计你懂了吧
回复 使用道具 举报
输出101啊。。第一次不执行if()语句,然后顺序输出”101“,第二次i自增后满足if()语句条件,break跳出while()循环。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马