do while 例题中不应该是执行了1001次吗?第1000次仍然符合要求,所以应该还要执行一次do啊

来源:4-8 Java循环语句之 do...while

雪love见

2019-08-03 13:19

public class HelloWorld{
    public static void main(String[] args){
        int i=1;
        do {
            System.out.println(i);
            i++;
            }
    }while (i<=1000);
}


写回答 关注

8回答

  • mushji
    2020-02-04 19:08:05

    当程序i=999的时候  此时程序已经执行输出从1-998个数

    将i=999进入程序的第三行

    运行下去

    则第五行输出999

    第六行i的运行结果为i=1000

    运行到第八行

    则第八行程序成立 

    继续重从第三行运行

    将i=1000

    第五行输出1000

    第六行i的运行结果为i=1001

    运行到第八行

    则第八行程序不成立则终止

    因终止就无法继续返回执行

    则无法执行输出1001













  • QW_KK
    2020-01-23 10:59:00
    do {            
    System.out.println(i);            
    i++;            
    }while (i<=1000);

    程序是从上往下执行,所以当i=1001的时候下一行是执行while(i<=1000);到这时用i与1000比较,i=1001大于1000,结果为false,结束循环体的 执行

    QW_KK

    int i=1; do { System.out.println(i); i++; }while (i<=1000); } 更正一下个人理解: 从i=1开始执行,一直到i=999都没有问题。 从i=999开始看循环体, 当i=999时,执行输出语句,i自加1 -->i=1000 判断 条件i<=1000 成立(i==1000) 再次进入循环 i=1000,执行输出语句,i自加1 -->i=1001 判断 条件i<=1000 不成立(i>1000) 条件不成立,跳出循环,不在执行循环体内的输出语句,但i=1001

    2020-11-18 08:41:30

    共 1 条回复 >

  • 慕少7189384
    2019-12-08 13:22:55

    他输出到1001,就不会执行了

  • 清淡如水
    2019-08-15 11:37:59

    输出的是我爱慕课网,不是i,。这时候i变成1001,但没有输出啊

  • 执笔绘余生
    2019-08-07 15:52:00

    他是从2—1001的,感受一下

  • 慕标2301522
    2019-08-06 21:32:30

    会执行,但不会输出

  • 三更月_梨花雪
    2019-08-05 15:52:05

    第1次执行do后i=2了,同理当第999次执行后i就=1000了,第1000次执行do:先输出1000,然后i=1001,结束后while括号里为否,就不存在第1001次循环了。如果难理解可以把while括号里改为i<=2,再想执行了几次。

  • goodY
    2019-08-03 14:32:20

    它会输出1到1000,输出1000之后下一条加一变成1001,然后跳出循环



Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题