重点--break 和 contiune

2019-06-22  本文已影响0人  潘肚饿兵哥哥

\color{rgba(254, 67, 101, .8)}{continue-break区别}
\color{rgba(254, 67, 101, .8)}{continue用于立即跳出本次循环,继续下次循环}
\color{rgba(254, 67, 101, .8)}{本次循环中continue之后的代码会少执行一次}

如果需要执行10次循环,那么加了continue之后就只执行了9次,

\color{rgba(254, 67, 101, .8)}{代码验证:}

    <script>
        //continue 关键字
        for(var i = 1; i <= 5; i++){
            if(i ==  3){
                continue;
            }
            console.log('我正在吃第' + i + '个包子');
        }
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{案例:求1-100之间,除了能被7整除之外的整数和}

    <script>
        var sum = 0;
        for(var i = 1; i <= 100; i++){
            if(i % 7 == 0){
                continue;
            }
            sum += i;
        }
        console.log(sum);
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{break关键字:}
\color{rgba(254, 67, 101, .8)}{用于退出整个循环}

    <script>
        //break关键字:直接退出整个循环
        for(var i = 1; i <= 5; i++){
            if(i == 3){
                break;
            }
            console.log('我吃了' + i + '个包子');
        }
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{break:}

\color{rgba(254, 67, 101, .8)}{正常情况下break关键字可以用来立即终止离他最近的switch或循环语句}

for(var i=0; i<5; i++){
        console.log("---"+i)
        for(var j=0; j<5; j++){
            break;
            console.log("-"+j);
        }
    }
break只会退出离他 最近 的循环
不会影响外层的循环
image.png

\color{rgba(254, 67, 101, .8)}{可以为循环语句创建一个label,来标识当前的循环}

这个outer就是一个自己创建的lable,
用(break  空格   lable  )来退出指定循环,而且不会退出离break最近的循环

outer:
for(var i=0 ; i<5 ; i++){
        console.log("@外层循环"+i)
        for(var j=0 ; j<5; j++){
                break outer;
                console.log("内层循环:"+j);
        }
}

\color{rgba(254, 67, 101, .8)}{break不能用于单独的if,但是可以用于循环里嵌套的if}

for(var i=0 ; i<5 ; i++){
    console.log(i);
    if(i == 2){
          break;
    }
}

\color{rgba(254, 67, 101, .8)}{continue:}

continue关键字可以用来跳过当次循环
同样continue也是默认只会对离他最近的循环起作用

for(var i=0 ; i<5 ; i++){
        if(i==2){
            continue;
        }
        console.log(i);
}

\color{rgba(254, 67, 101, .8)}{条件成立就立即跳出当次循环,继续下一次循环}

image.png

\color{rgba(254, 67, 101, .8)}{同样也可以用lable来指定continue要退出的循环}
\color{rgba(254, 67, 101, .8)}{同样也不会影响离他最近的循环}
\color{rgba(254, 67, 101, .8)}{只会跳出指定的循环}

continue的lable也只会跳出指定循环的当次循环

outer:
for(var i=0 ; i<5 ; i++){
    for(var j=0 ; j<5 ; j++){
        continue outer;
        console.log("-->"+j);
    }
    console.log("@--->"+i);
}


\color{rgba(254, 67, 101, .8)}{循环作业:}
\color{rgba(254, 67, 101, .8)}{1.求1-100之间所有数的总和与平均值}

    <script>
        //循环完结练习:
        //1.求1-100之间所有数的总和与平均值
        var sum = 0;
        for (var i = 1; i <= 100; i++) {
            sum += i;
        }
        console.log(sum);
        console.log(sum / 100);
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{2.求1-100之间所有偶数的和}

var num = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 2 !== 0) {
                continue;
            }
            num += i;
        }
        console.log(num);
image.png

\color{rgba(254, 67, 101, .8)}{3.求100以内7的倍数的总和}

var num = 0;
        for (i = 1; i <= 100; i++) {
            if (i % 7 != 0) {
                continue;
            }
            num += i;
        }
        console.log(num);
image.png

\color{rgba(254, 67, 101, .8)}{4.使用for循环打印5行5列的五角星}

        var star = '';
        for (i = 1; i <= 5; i++) {
            for (j = 1; j <= 5; j++) {
                star += '☆';
            }
            star += '\n';
        }
        console.log(star);
image.png

\color{rgba(254, 67, 101, .8)}{5.使用for循环打印三角形的五角星}

        //使用for循环打印5行5列的五角星
        var star = '';
        for (i = 1; i <= 5; i++) {
            for (j = i; j <= 5; j++) {
                star += '☆';
            }
            star += '\n';
        }
        console.log(star);


        var star = '';
        for (i = 1; i <= 5; i++) {
            for (j = 1; j <= i; j++) {
                star += '☆';
            }
            star += '\n';
        }
        console.log(star);
image.png image.png
上一篇 下一篇

猜你喜欢

热点阅读