黑马程序员技术交流社区
标题:
请哪位帮我解释下这题是怎么回事啊?
[打印本页]
作者:
张洋89
时间:
2014-12-3 23:09
标题:
请哪位帮我解释下这题是怎么回事啊?
int i = 100;
while(true)
{
If ( i++ > 100 )
break;
System.out.println(i);
}
A. 100
B. 101
C. 102
D. 103
作者:
柳超
时间:
2014-12-3 23:24
结果是 101吗
作者:
小家伙
时间:
2014-12-3 23:31
++在后,先判断,再加加。
作者:
wangzheng406
时间:
2014-12-3 23:53
先判断,然后+1,输出101,101>100,break
作者:
安卓小蜗牛
时间:
2014-12-4 00:09
i++>100,就是101啊
作者:
夏至落叶
时间:
2014-12-4 00:13
先++,然后输出101,然后退出
作者:
杨佳名
时间:
2014-12-4 00:19
本帖最后由 杨佳名 于 2014-12-4 00:21 编辑
先判断100>100吗? false,i自增变成101,走输出语句,打印i的值为101
再进入循环,判断101>100吗? true,i自增变成102,break跳出循环
作者:
夏至落叶
时间:
2014-12-4 00:25
杨佳名 发表于 2014-12-4 00:19
先判断100>100吗? false,i自增变成101,走输出语句,打印i的值为101
再进入循环,判断101>100吗? true,i ...
但是打印的结果是101,i变成102的时候没打印
作者:
boycechan
时间:
2014-12-4 00:31
教楼主一个方法,用Eclipse或者MyEclipse工具设置断点去观察值的变化!一目了然。
作者:
壹贰叁
时间:
2014-12-4 00:39
先执行i>100,在++,然后输出结果:101
作者:
quick3g
时间:
2014-12-4 02:14
关键在于i++,先if判断,然后自增1;如果是++i呢,楼主研究下。
作者:
327753899
时间:
2014-12-4 15:44
101是正确的
作者:
高慧觉
时间:
2014-12-4 16:05
不论是i++还是++i,只要运行后就自增1;
如果a=3,b=a++.结果是b=3;
如果是b=++a,结果是b=4.
作者:
Dr.Sparta
时间:
2014-12-4 17:38
++在后,先判断再自增,第二次判断时i已经是101,break,打印i
作者:
LIANGYU
时间:
2014-12-4 18:05
先++,然后输出101,然后退出
作者:
ben_vs_cong
时间:
2014-12-4 19:34
输出的应该是输出101。我是这样理解i++和++i的,其实他们最终都会自增1。比如你这个比较的话,i++就表示,先拿i比较(理解为i=100>100),再自加1;如果是++i,那么就是先自加1,再比较(理解为i=101>100)。这个程序虽然if条件为假,i都自加了1的,所以会输出101。
作者:
清诗纪事
时间:
2014-12-4 20:34
开始执行的时候i=100
i++就是101,101>100,break,输出101
作者:
zmhlnrs
时间:
2014-12-4 23:03
先判断100>100,后i自增,输出101
作者:
逍遥小seng
时间:
2014-12-5 01:22
论坛以前的题:你参考下
i=0;
i++;
sop(i++);
sop(++i);
结果是1,3.估计你懂了吧
作者:
黑马新人
时间:
2014-12-5 17:53
输出101啊。。第一次不执行if()语句,然后顺序输出”101“,第二次i自增后满足if()语句条件,break跳出while()循环。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2