问答详情
源自:4-8 Java循环语句之 do...while

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

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


提问者:雪love见 2019-08-03 13:19

个回答

  • 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,结束循环体的 执行

  • 慕少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,然后跳出循环