为了账号安全,请及时绑定邮箱和手机立即绑定

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);
}


正在回答

8 回答

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

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

运行下去

则第五行输出999

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

运行到第八行

则第八行程序成立 

继续重从第三行运行

将i=1000

第五行输出1000

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

运行到第八行

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

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

则无法执行输出1001













0 回复 有任何疑惑可以回复我~
do {            
System.out.println(i);            
i++;            
}while (i<=1000);

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

0 回复 有任何疑惑可以回复我~
#1

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 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

会执行,但不会输出

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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



3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信