关于continue

关于continue

if(i%2==0){

continue;

}

当是整数的时候,执行continue语句,老师说不执行下面的语句,sum=sum+i就不执行了吧。就是指for循环,i余数为0的本次循环吧, 跳出后再重新执行for循环吧?

那continue 不是定义在局部内吗?在if内吗?for可以执行啊?


还有一个基础知识的问题:

var sum=0;

var i=101;

do{

sum=sum+i;

i++;

}while(i<=100);

会执行一次, 不应该是101+1=102吗,为什么是101呢?

是不是i++最后执行,并且执行后会对条件进行判断,如果不符合条件,那么本次i++失效?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕阿满 2021-02-25 17:45:37

同学你好,如下代码是指当是偶数时,执行continue语句。

if(i%2==0){
continue;
}

如果执行continue,则下边的sum=sum+i就不执行了。

continue只能用在循环中,作用是跳出本次循环,继续下次循环。例如,当 i 为2时,i%2==0,执行continue,跳出本次循环,下边的sum=sum+i就不执行了,执行下次循环,i++为3,不符合if判断,执行sum=sum+i。



http://img1.sycdn.imooc.com//climg/6037711a09fcc5bf07480314.jpg

这里同学理解错误,i的值经过do-while()循环后,变成了102,但是课程中输出语句输出的sum,如:

http://img1.sycdn.imooc.com//climg/6037717c094c5b4303940286.jpg

sum的值是sum+i,sum的初始值为0,加上i后变成101。如果输出的是i的值,那么是102。

祝学习愉快~


  • 提问者 rock221 #1

    也就是说i++执行了1次,然后当是102的时候,不满足条件,所以不再循环,对吧?在循环语句中i都是最后执行的吧,我记得 

    2021-02-25 18:08:16
  • 好帮手慕阿满 回复 提问者 rock221 #2

    同学你好,同学的前半句理解是正确的。循环中 i 不一定是最后执行的,例如上边的例题中,如果将i++放在sum=sum+i前边,则会先执行i++,再执行sum=sum+i,最后的结果sum的值也会变成102,同学可以自己测试一下。

    祝学习愉快~

    2021-02-25 18:31:59
  • 提问者 rock221 回复 好帮手慕阿满 #3

    如果i++放在最后就是最后执行吧, 比如 for(int i=0;i<100;i++)i,也是最后执行的吧。

    2021-02-25 22:45:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师