zoukankan      html  css  js  c++  java
  • 控制语句—for循环、while循环

    for循环

    基本结构:

    for(初始条件1;循环条件2;状态改变3){
    
    循环体4
    
    }

    运行流程:1-2-4-3-2-4

    while循环

    基本结构:

    var i=0 //初始条件 1
    while(i<5){  //循环条件 2
    console.log(i);  //循环体 3
    ++i;              //改变状态 4
    }

    运行流程:1-2-3-4-2-3-4

    for循环与while循环区别:

    for循环次数确定

    while循环次数不确定

     

    关键字:break 跳出循环和continue跳过本次循环(继续下次循环)

    forvar i=0;i<5;++i){
         if(i == 3){
         break//当i=3时,本循环结束
         }
         alert(i)
    }

    结果弹出:0、1、2

    forvar i=0;i<5;++i){
         if(i == 3){
         continue//当i=3时,本次循环结束
         }
         alert(i)
    }

    结果弹出:0、1、2、4、5

    标记循环:

    wbl:for(var i=0;i<10;i++){
    
        for(var j=0 ; j<10; j++){
    
            break wbl;//会把外层的for循环停掉
        }
    }            

    当for循环嵌套时,内嵌的for循环中,如果有break,则只会停止本身for循环,不涉及外面的for循环

    可对循环添加标记,在内嵌的for循环中的break加标记,便可停止外部循环。

    do  while循环语句

    var  i=0   //初始条件
    do{
        执行语句;
    
        ++i;
    
    }while(判断);

    先执行一次语句,再改变状态,再判定

     

    switch语句    匹配语句

    表达式:

    switch(表达式){
        case “值”:
        break;
        case “值”:
        break;
        defaultbreak;
    }

    switch中的表达式,与case的值匹配,值相同匹配成功,执行该case下的语句

    如果所有case都没有匹配成功,执行default。

     例:

    var day=1;
    switch(day){
        case 1:
            alert(1);
            break;
            
        case 2:
            alert(2);
            break;
            
        case 3:
            alert(3);
            break;
        default:  //没有匹配到执行default
            alert("没有匹配到");
            break;
    }

    break 是退出switch匹配

    如果匹配成功的case下没有break,继续向下执行case,直到有break(会执行遇到的所有指令)

    如果整个下面都没有,运行至switch结束。

    for循环练习:

    1、100以内所有数的和

    var sum=0;
    for(var i=0;i<=100;++i){
        sum=sum+i;
    }
    console.log(sum);

    2、100以内与7相关的数

    for (var i = 0; i <= 99; ++i) {
        var a = i % 10;
        var b = parseInt(i / 10);
        if (a === 7 || b === 7) {
            console.log(i);
        }
    }

    3、100元购物卡,牙刷5元,香皂2元、洗发水15元 100元正好花完有多少种可能?

    var x = 0;
    for (var a = 0; a <= 50; ++a) {
        for (var b = 0; b <= 50; ++b) {
            for (var c = 0; c <= 50; ++c) {
                var sum1 = 5 * a;
                var sum2 = 2 * b;
                var sum3 = 15 * c;
                if (sum1 + sum2 + sum3 == 100) {
                    console.log(a,b,c);
                    x++;
                }
            }
        }
    }
    alert(x);
  • 相关阅读:
    [SCOI2016] 幸运数字
    [CF438E] 小朋友和二叉树
    【题解】[AHOI2013]作业
    【题解】CF940F Machine Learning
    【题解】CF1207E XOR Guessing
    【题解】CF1228D Complete Tripartite
    【题解】CF1290B Irreducible Anagrams
    【题解】[JSOI2007]字符加密
    【题解】[SDOI2016]征途
    【题解】多边形染色
  • 原文地址:https://www.cnblogs.com/dk2557/p/9187984.html
Copyright © 2011-2022 走看看