关于循环求整数1到100的累加值,但要求跳过所有个位为3的数

while循环

var sum2 = 0;
var j = 1;
while(j<=100){
    if (j%10==3){
        j++;
        continue;
    }
    sum2 = sum2 + j;
    j++;
}
console.log(sum2);

for循环

var sum1 = 0;
for (var j = 1;j<=100;j++){
    if (j%10==3){
        continue;
    }
    sum1 = sum1 +j;
}
console.log(sum1);


疑问1:两种方法结果都是对的,但第二种写完觉得是错的,可结果却是对的.

疑问2:第二种方法里,if()里如果j%==3是true,continue我理解的是跳到sum1=sum1+j那里了,是我哪里理解错了吗?还是for循环的执行过程拆开的话跟while是一样的?

简单简同学
浏览 7108回答 3
3回答

ycwiacb

其实你的问题应该就是第二个问题,首先continue是跳出本次循环进入下一次循环,其次while循环和for循环其实本质上区别不是很大。

plum_blossom

continue跳出当前循环,直接执行下一循环了

kongods

for称为计数循环,,即你知道 循环多少次,,即可使用而while为 条件循环,,即满足条件就会循环,而你不一定要知道循环多少次噢。for用于可预测循环次数的情况,而while可在不确定循环次数时使用,while甚至可以不在循环指令上指定跳出循环的条件。应该优先考虑for循环,一般情况下for循环的效率都是最高的。都可以用for代替,while(true) 可以用 for(;true;){}  在条件参数那填个永远为true的条件就行了。while(rs.next())可以用        for(;rs.next();){ }  for循环是非常灵活的,3个参数各用用处,只用第2个参数条件,就可以完全替代while循环了,只是看起来别扭而已。while 和for循环都是一样的,能做同样的事, 因为他们都有三个条件, 都要赋初值,判断条件,自增或自减所以他们之间能互相替代。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript