ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

day3 循环

2022-03-21 09:03:53  阅读:132  来源: 互联网

标签:do console day3 空格 while 循环 var


一、while循环

  

  循环是重复性做一件事        我们没有办法控制每次循环的时间长度        循环会增大您的程序时间复杂度  不建议无限循环嵌套  一般情况下不会嵌套超过两次        死循环是不会停止的循环,会导致您的电脑内存溢出 从而蓝屏(避免死循环)        循环分为很多种常见有三种  while循环   do  while循环    for循环        写法        var 定义初始终        while(布尔类型表达式){              循环体(迭代  初始值变化 操作)         }         var i=0//初始值定义         while(i<10){             i++//迭代,如果没有会导致死循环             console.log(i);//操作         }
       1~100的和         var res=0         var i=1        放入循环体里面的代码会循环执行,放到外面只执行一次         while(i<=100){             res+=i//将i的值累加给res             i++//迭代         }         console.log(res);


        var i=0         while(++i<=100){//执行101次             res+=i//执行100次         }         console.log(res);
       循环四要素  初始值   迭代量(不写  死循环)  循环体   条件判断表达式(循环条件)-死循环        while(true){
        }  死循环  break   二、do...while循环        while 循环  do做         do  while  先做后循环        和while区别  while可能一次都不做  do..while至少做一次         var water=false         while(water){             console.log("喝水了");         }         do{             console.log("我喝水了");         }while(water)
       do..whlie 先做后判断  while先判断后做        var 初始值定义        do{             循环体             迭代量         }while(布尔表达式)
       1-100的和         var num01=100         var sum01=0         do{             sum01+=num01             num01--         }while(num01>0)         console.log(sum01);   三、for循环         for 循环是一个比较常用的循环        使用方式        for(初始值 可以省略不写;判断条件;迭代量){              循环体         }         for(i=0;i<10;i++){             console.log(i)//0-9         }         var i=0         for(;i<5;i++){             console.log(i);//0-4         }
        面试题  下面这种写法是否正确         for(;;){             console.log("你好");         }  死循环  写法正确         var i=0         for(;i<1;){             死循环         }
        练习题   10的阶乘         var res=1         for(var i=1;i<=10;i++){             res*=i         }         console.log(res)
        时间复杂度:代码执行时长     do..while 和while时间复杂度一致(代码执行时长)         while循环比for块一倍         while时间复杂度低于for循环
        循环嵌套  while嵌套         do{             外面执行3次              do{                     //里面执行3次              }while()          }while()  总共执行9次

        while(){              外面执行5次              while(){                  里面执行6次             }          }总共执行30次

        for(var i=0;i<10;i++){             for(var i=0;i<10;i++){                  console.log("hello");            }         }  不允许的写法  两个变量不能重名
        for(var i=0;i<10;i++){             for(var j=0;j<10;j++){                 console.log("hello");//打印100次             }         }
四、循环嵌套的练习        绘制图形             // *             // ***             // *****             // 分为行和列             for(var row=1;row<=3;row++){                 var str=''    //col<2*row+1                 for(var col=0;col<2*row-1;col++){                     str+='*'                 }                 console.log(str);             }
            // 绘制等腰三角形             //4行7列             //   *     3空格  1个*             //  ***    2空格  3个*             // *****   1空格  5个*             //*******  0空格  7个*             for(var row=0;row<4;row++){                 var str=''                 //绘制空格                 for(var col=0;col<3-row;col++){                     str+=' '                 }                 //绘制*                 for(var col=0;col<2*row+1;col++){                     str+='*'                 }                 console.log(str);             }
            console.log("===================")             // 绘制倒等腰三角形             //*******  0空格  7*  0             // *****   1空格  5*  1             //  ***    2空格  3*  2             //   *     3空格  1*  3             for(var i=0;i<4;i++){                 var str=''                 for(var j=0;j<i;j++){                     str+=' '                 }                 for(var j=0;j<7-2*i;j++){                     str+='*'                 }                 console.log(str);             }             //col<row col--  row++ 不能写

            console.log("==================")
            //   *     3空格  1*    0             //  ***    2空格  3*    1             // *****   1空格  5*    2             //*******  0空格  7*    3             // *****   1空格  5*    4             //  ***    2空格  3*    5             //   *     3空格  1*    6
            //递增方式             for(var row=0;row<7;row++){                 var str=''                 if(row<3){                     for(var col=0;col<3-row;col++){                     str+=' '                     }                     //绘制*                     for(var col=0;col<2*row+1;col++){                     str+='*'                     }                 }else{                     for(var col=0;col<row-3;col++){                     str+=' '                     }                     for(var col=0;col<7-2*(row-3);col++){                     str+='*'                     }                 }                 console.log(str);             }
            // 递减方式             //   *     3空格  1*    7             //  ***    2空格  3*    6             // *****   1空格  5*    5             //*******  0空格  7*    4             // *****   1空格  5*    3             //  ***    2空格  3*    2             //   *     3空格  1*    1
            console.log("------递减方式-------");             for(var i=7;i>0;i--){                 var str=''                 if(i>3){                     for(var j=i-4;j>0;j--){                         str+=' '                     }                     for(var j=15-2*i;j>0;j--){                         str+='*'                     }                 }else{                     for(var j=4-i;j>0;j--){                         str+=' '                     }                     for(var j=2*i-1;j>0;j--){                         str+='*'                     }                 }                 console.log(str);             }


            console.log("------九九乘法表-----");             // 绘制乘法口诀表             // \t   制表符自动对齐  相当于tab             //1*1=1         0             //2*1=2 2*2=4   1             for(i=1;i<=9;i++){                 var str=''                 for(j=1;j<=i;j++){                     str+= j + "X" + i + "=" + i*j + "\t"                 }                 console.log(str);             }   五、break      // break 在switch中跳出整个switch块  for也一样会跳出整个for块         for(var i=0;i<5;i++){             if(i==3){                 break//结束这个for循环             }             console.log(i);//0  1   2         }
        // 双层嵌套的循环在什么位置就结束当前位置的循环         // break 结束本个循环         for(var i=1;i<3;i++){             for(var j=1;j<3;j++){                 if(i==2){                 break                 }                 console.log(i*j); //1  2             }         }         // 复杂循环         for(var i=10;i>=5;i--){             for(var j=i;j<=6;j++){                 if(i*j>33){                     break                 }                 console.log(j);//5 6             }         }         // break在外面的循环会结束掉里面包含的循环   但是里面包含的break不会结束外面的循环         for(var i=0;i<5;i++){             if(i==2){                 //break//01                 continue//0134             }             console.log(i);         }         // continue  接下来的接着走
        // continue语句只能用在循环里面         // break可以用在switch里面         // break是跳出本次循环  后面不会再运行   Continue跳过这次循环  后面接着走         // break作用在 在循环嵌套中,只会跳出本次循环  而不影响外层循环      

标签:do,console,day3,空格,while,循环,var
来源: https://www.cnblogs.com/haitang1102/p/16033195.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有