zoukankan      html  css  js  c++  java
  • 关于for循环的小案例

    for循环:

    for(循环需要变量的初始值;循环的条件(当满足条件时执行语句块);变量不断向条件外变化)
    1、循环需要变量的初始值仅执行一次,并且不一定需要使用var
    2、循环的条件是一个表达式,隐式转换为布尔值,为真时进入语句块,根据循环次数判断多少次
    3、变量不断向条件外变化(这个理解比较片面)。每次循环完成后执行的语句内容

    关于for的死循环:

    for(;;){
    
    }
    

    用for循环写出0-100以内数相加的和

     var sum=0;
           for(var i=1;i<100;i++){
               sum+=i;
           }
           console.log(sum);//4950 */
    
    
           /*  //普通的深度遍历:
            var obj={
                value:1,
                link:{
                    value:2,
                    link:{
                        value:3,
                        link:{
                            value:4,
                            link:{
    
                            }
                        }
                    }
                }
            }
    

    用for循环写深度遍历:

    for(;obj.link;obj=obj.link) console.log(obj.value);

    用for循环写出一个0-100以内的所有质数

     for(var i=2,j,bool;i<100;i++){
               for(j=2,bool=true;j<i;j++){
                   if(i%j===0){
                       bool=!bool;
                       break;
                   }
               }
               if(bool) console.log(i);
           }
    

    用for循环写出一个十行十列的表格:

     var row=10,col=10;
           var str="<table>";
           for(var i=0;i<row;i++){
               str+="<tr>";
               for(var j=0;j<col;j++){
                   str+="<td></td>";
               }
               str+="</tr>";
               
           }
           str+="</table>";
            //document.write(str);
           document.body.innerHTML+=str;
    

    用for循环写一个水仙花数:

    for(var i=100,a,b,c;i<1000;i++){
               a=parseInt(i/100);
               b=parseInt(i/10)%10;
               c=i%10;
               if(a*a*a+b*b*b+c*c*c===i) console.log(i);
           }
    

    用for循环写一个菱形:

    var row=10,col=20;
           for(var i=0;i<row;i++){
                if(i<5){
                    for(var k=row-i-1;k>=0;k--){
                    document.write("&ensp;");
                }
                    for(var j=0;j<i*2-1;j++){
                    document.write("*");
                    }
                }else{
                    for(var k1=0;k1<i;k1++){
                   document.write("&ensp;");
               }
                    for(var j1=(row-i-1)*2;j1>=0;j1--){
                        document.write("*");
                    }
                }
               
               document.write("<br>")
           }
    

    用for循环写一个倒序的字符串

    var str="abcdefghijk";
           var s='';
           for(var i=str.length-1;i>=0;i--){
               //length-1是因为索引是从0开始的
               s+=str[i];
           }
           console.log(s);//kjihgfedcba
    

    注意:

    注意当进行从大到小循环时,条件注意使用=的问题
    在双重循环时,不要在内层中判断外层变量或者改变外层变量
    如果使用break,不写跳出label,它进跳出当前层循环
    循环是同步的
    循环不能此处超过10亿次,循环不能嵌套太多,一般不超过2层

  • 相关阅读:
    sql 生成javabean实体
    git 安装 使用过程遇到的问题
    CentOS7 ab压力测试安装
    Lvs+keepalived+mysql(主从复制)
    liunx下tomcat启动 Cannot find ./catalina.sh
    ftp和ssh登录缓慢的解决办法
    Contos7 FTP 安装步骤
    python生成100以内格式化的数
    Windows中更新python模块的命令
    scrapy的User-Agent中间件、代理IP中间件、cookies设置、多个爬虫自定义settings设置
  • 原文地址:https://www.cnblogs.com/zmlAliIqsgu/p/13284417.html
Copyright © 2011-2022 走看看