public class HelloWorld{ public static void main(String[] args){ int i=1; do { System.out.println(i); i++; } }while (i<=1000); }
当程序i=999的时候 此时程序已经执行输出从1-998个数
将i=999进入程序的第三行
运行下去
则第五行输出999
第六行i的运行结果为i=1000
运行到第八行
则第八行程序成立
继续重从第三行运行
将i=1000
第五行输出1000
第六行i的运行结果为i=1001
运行到第八行
则第八行程序不成立则终止
因终止就无法继续返回执行
则无法执行输出1001
do { System.out.println(i); i++; }while (i<=1000);
程序是从上往下执行,所以当i=1001的时候下一行是执行while(i<=1000);到这时用i与1000比较,i=1001大于1000,结果为false,结束循环体的 执行
他输出到1001,就不会执行了
输出的是我爱慕课网,不是i,。这时候i变成1001,但没有输出啊
他是从2—1001的,感受一下
会执行,但不会输出
第1次执行do后i=2了,同理当第999次执行后i就=1000了,第1000次执行do:先输出1000,然后i=1001,结束后while括号里为否,就不存在第1001次循环了。如果难理解可以把while括号里改为i<=2,再想执行了几次。
它会输出1到1000,输出1000之后下一条加一变成1001,然后跳出循环