精华内容
下载资源
问答
  • for循环/双重for循环
    千次阅读
    2021-04-14 20:44:48

    01- for循环:用户输入数据求指定数字之间的总和

        <script>
            //需求:用户决定输出的次数,输出从0-用户指定的数字之间的所有整数
            let num = prompt('请输入数字:')
            let res = 0;
            for (let i = 0; i < num; i++) {
                res += i
            }
            console.log(res);
        </script>
    

    02-for 循环:用户指定区间

        <script>
            let num1 = prompt('请指定起始值:');
            let num2 = prompt('请指定结束值:');
            num1 = parseInt(num1)
            num2 = parseInt(num2)
            for (let i = num1; i < num2; i++) {
                document.write(i)
            }
        </script>
    

    03-for 循环 最大最小值案例

        <script>
            // 需求:用户输入5个数,求出用户输入数字的最大值
    
    
            // 用户输入数字的行为:要重复5次:用循环解决,循环一次输入1个数
            // 如何保证拿到最大值?定义一个 变量 保存最大值,用户输入的数字与变量进行PK
            // 赢了:用户输入是最大值,将用户输入的数据放到变量(修改擂主)
            // 输入:不管
    
    
            // 1. 定义一个擂主:保存最大值
            // 2. 打擂:5次
    
            let max = Infinity, min = -Infinity;      //定义两个最大最小变量值
    
            for (let i = 1; i <= 5; i++) {
                let count = +prompt(`请输入第${i}次的数值`)
                if (count > min) {
                    //最大值交换
                    min = count
                }
            }
            document.write(`您输入最大的值为${min}`)
        </script>
    

    04-for 循环 利用 break 猜数字大小

        <script>
            // 猜数字游戏
    
    
            // 1. 随机生成0-100之间整数
            let rand = Math.ceil(Math.random() * 100)
            // 2. 用户猜测:不确定次数,循环:死循环
            // 2.1 获取用户输入数字
            for (; ;) {
                let user = prompt('请输入0-100的数字')
                // 2.2 比较:三种情况(太大了,太小了,猜中了:break)
                if (user > rand) {
                    alert('你丫的数值太大了')
                } else if (user < rand) {
                    alert('丫的太小了')
                } else {
                    alert('你总算猜对了')
                    break;
                }
            }
    
        </script>
    

    05-动态循环 树状图

        <style>
            .box {
                width: 1200px;
                height: 350px;
                border: 1px solid red;
                margin: 100px auto;
                display: flex;
                justify-content: space-evenly;
                align-items: flex-end;
            }
    
            .box>div {
                width: 200px;
                height: 280px;
            }
        </style>
        <script>
            // 1. 写好静态结构:分析
            // 1.1 外部大div样式:弹性布局或者动态布局
            // 1.2 通过静态写死1个到2个柱子:找出柱子宽度的规律(定位需要偏移)
            // 1.3 注释静态html:找出样式中固定部分(写到类中)和变化部分(JS动态生成到行内样式)
            // 2. 接收用户输入的柱子数量
            let user = prompt('请输入柱子数量:');
            // 3. 计算柱子的宽度
            // 4. 输出大盒子的前半部分(添加类样式)
    
            // 5.4 输出柱子:嵌入行内样式,包括宽度、高度、颜色(rgb)
            //输出大盒子开启
            document.write('<div class="box">');
    
            for (let i = 1; i <= user; i++) {
                // 5. 循环动态生成小柱子:一次生成1个柱子
                let post = 1200 / (2 * user + 1);
                // 5.1 宽度固定
                // 5.2 高度随机
                let height = Math.ceil(Math.random() * 280);
                // 5.3 颜色随机
                let a = Math.ceil(Math.random() * 200);
                let b = Math.ceil(Math.random() * 200);
                let c = Math.ceil(Math.random() * 200);
                document.write(`
            <div style="width:${post}px;height:${height}px;background-color: rgb(${a}, ${b}, ${c});">
            </div>
            `)
            }
            // 6. 输出大盒子的关闭部分
            document.write('</div>');
        </script>
    </head>
    
    <body>
        <!-- <div class="box">
            <div></div>
        </div> -->
    </body>
    
    </html>
    

    双重for循环

        <script>
            let num = '';
            for (let i = 1; i <= 3; i++) {
                num += '💕';
                console.log(num);
                console.log(`这是外层循环第${i}次`);
                for (let j = 1; j <= 3; j++) {
                    console.log(`这是里层循环第${j}次`);
                }
            }
        </script>
    
    更多相关内容
  • 前情提要:python在处理高时间复杂度的双重for循环时候效率低,而多线程又不适合于计算密集的任务提速。昨天睡之前让电脑自己运行17000*17000的计算,结果跑了19000秒。 因此尝试寻求为python提速的解决方案。在那...
  • 双重for循环

    2022-03-24 12:41:27
    平常我们在使用循环的时候,只会用到一个for进行循环,今天介绍一下双重for循环。 一. 一个for循环执行的流程 假设我要打印一百次我爱你。 循环语句的语法想必我们已经非常的熟练了。 在复习一遍它的语法: for...

    平常我们在使用循环的时候,只会用到一个for进行循环,今天介绍一下双重for循环。

    一. 一个for循环执行的流程

    假设我要打印一百次我爱你。

    循环语句的语法想必我们已经非常的熟练了。

    在复习一遍它的语法:

    for(初始值,判断条件,累计器){
    
       要循环的内容
    
    }

    例子:

      for (let i = 0; i < 100; i++) {
        console.log('我爱你');
      }

    说明:就相比于这个来说,其实i的值是0,判断条件是i<100,就去执行循环体里面的内容,后面的累加器每次都会加上1, 如次这样会执行100次循环体里面的内容,当i=100的时候还会去打印"我爱你",这个时候,继续会在累计器里面进行加1,变成101, 这个时候就不会去执行循环体的内容,跳出循环。

    二. 双重for循环执行的流程

    如果两个循环嵌套,又会发生什么呢?

    例子:

      for (let i = 0; i < 9; i++) {
          for (let j = 0; j < 10; j++) {
            console.log('我爱你');
          }
        }

    大家可以猜一下,会进行多少次打印。

    可以看到,控制台里面总共打印了90次。

    接下来我们一起分析一下它的执行流程:

    从进入第一次循环开始:

       i=0; 执行循环体的内容,也就里面嵌套的一个for循环。

    执行嵌套的子循环:

     for (let j = 0; j < 10; j++) {
            console.log('我爱你');
          }

    j=0,j<10,打印里面的内容:我爱你

    j=1,j<10,打印里面的内容:我爱你

    j=2,j<10,打印里面的内容:我爱你

    j=3,j<10,打印里面的内容:我爱你

    j=4,j<10,打印里面的内容:我爱你

    j=5,j<10,打印里面的内容:我爱你

    j=6,j<10,打印里面的内容:我爱你

    j=7,j<10,打印里面的内容:我爱你

    j=8,j<10,打印里面的内容:我爱你

    j=9,j<10,打印里面的内容:我爱你

    j=10,j<10, 此时已经是不成立的,因此跳出循环。

    在单纯地j的循环中打印了10次循环体里面的内容。

    思考一个问题结束了内部嵌套的子循环会干什么?

    答:

    此时的i会继续返回到外层的for循环上,进行+1,此时的i=1,1<9又回执行内部的for循环。

    j=0,j<10,打印里面的内容:我爱你

    j=1,j<10,打印里面的内容:我爱你

    j=2,j<10,打印里面的内容:我爱你

    j=3,j<10,打印里面的内容:我爱你

    j=4,j<10,打印里面的内容:我爱你

    j=5,j<10,打印里面的内容:我爱你

    j=6,j<10,打印里面的内容:我爱你

    j=7,j<10,打印里面的内容:我爱你

    j=8,j<10,打印里面的内容:我爱你

    j=9,j<10,打印里面的内容:我爱你

    j=10,j<10, 此时已经是不成立的,因此跳出循环。

    这样的一个循环的过程。

    外层循环的结束时间

    当i=9的时候就跳出循环。因为判断的条件是i<9。

    因此可以得到一个结论就是:

    前面执行了9次内部for循环的内容。

    一次打印10次我爱你。

    故:

    9x10=90。

    输出90次我爱你。

     三重for循环执行的流程

    我们从双重for循环的执行循序,来推断一下三重的for循环又是什么样子的呢?

      for (let i = 0; i < 9; i++) {
          for (let j = 0; j < 10; j++) {
            for (let k = 0; j < 8; j++) {
              console.log('我爱你');
            }
          }
        }

    根据上面的双重for循环,我们来推断:

    最内层:

    一次打印8次我爱你

    第二层:

    会执行10次内部的for循环跳出循环。

    最外层:

    会执行9次第第二层的for循环跳出循环。

    所以最终执行的结果是:

    8x10x9=720。

    四.思考一个问题。

    循环嵌套的真正的意义是什么?

    根据上面的for循环我们可以发现一个规律。

    无论是双重for循环:

    它都是先把内部的循环执行完然后,在去累加进行循环

     每个for循环都应该有自己做的事。

     五 .习题

    (1)九九乘法表

      var i, j;
        for (i = 1; i <= 9; i++) {
          document.write("<br>"); // i 为行的乘数,j 为列数  每一行打印完后换行
          for (j = 1; j <= i; j++) {
            sum = i * j;
            document.write(i, "*", j, "=", sum, "   "); // 使 "i" 和 "j" 能打印出来
          }
        }

    (2)我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

    解:

    设鸡翁为x,母为y,鸡雏为z。

    5x+3y+1/3z=100;

    x+y+z=100;

    使用穷举法:

     0<=x<=20;

     0<=y<=33;

     鸡雏:100-x-y-z;

    代码:

     for (var a = 1; a <= 20; a++) { //公鸡最多能买20只
        for (var b = 1; b <= 33; b++) { //母鸡最多只能买33只
          var c = 100 - a - b; //小鸡的数量可通过计算得出
          if ((a + b + c == 100) && (a * 5 + b * 3 + c / 3 == 100)) {
            document.write('公鸡、母鸡、小鸡的数量分别是:' + a + ',' + b + ',' + c + '<br/>');
          }
        }
      };

    分析代码:

    先去买公鸡,在去买鸡  剩下的就是小鸡,

    判断的条件:

    前提是买100只鸡, 后面是100钱。

    输出的结果:

    六.总结

    什么时候会用到多重的for循环呢?

    在进行匹配的时候, 

    例如在写99乘法表的时候,行和列的匹配

    在百钱的习题中的匹配,然后通过if筛选出符合条件的结果

    n重for循环呢,一样也是进行匹配。

    展开全文
  • 双重for循环(嵌套for循环)

    万次阅读 多人点赞 2021-10-13 16:20:32
    双重for循环就是在一个for循环里在嵌套另一个for循环,即两个循环嵌套,还有多重循环嵌套的情况,但用的比较少,一般常用的是两个循环嵌套,很少使用多重循环,因为for循环多了会导致代码执行的效率低,而且容易死机...

    什么是双重循环?

    双重循环:我们从字面上理解它,就是有两个循环套在一起

    详细解释

    双重for循环就是在一个for循环嵌套另一个for循环,即两个循环嵌套,还有多重循环嵌套的情况,但用的比较少,一般常用的是两个循环嵌套,很少使用多重循环,因为for循环多了会导致代码执行的效率低,而且容易死机,多循环中的总循环次数是相乘的,嵌套几次后几何级数增长,因此通常情况下在循环多次嵌套时,我们是不推荐使用的。

    说的再简单点就是,for循环的嵌套,跟我们之前的if嵌套一样

     for(循环变量;循环条件;循环操作){
           for(循环变量;循环条件;循环操作){
               //代码块
           }
    }
    

    这就是双重for循环的框架

    运行路径

    外层循环一次内层全部循环一次(外层循环一次,内层for循环全部执行完成再进行外层的一次循环)

    难点

    二重循环的难点是内层循环的循环条件,如何控制内层循环的次数
    记住外层循环一次,内层循环全部的原则
    举个例子,我外层循环定义循环3次内层循环定义循环2次,每次输出一个“星号”,那么,将会输出几个“星号”呢?
    答案是6次(2×3)
    分析:

    • 外层循环第一次,里面循环完,也就是2次
    • 外层循环第二次,里面又重新循环,循环完,还是2次
    • 外层循环第三次,里面再次重新循环,又是2次

    我们多说无益,来个实际操作

    示例


    打印以下图形,我们可以用上面提到的公式验证一下

    图形

    *
    * *
    * * *
    * * * *
    * * * * * 

    这个题目的代码,我先给出,然后分析

    代码

    public class Star{
           public static void main(String[] args){
              for(int i=1;i<=5;i++){
                    for(int j=1;j<=i;j++){
                        System.out.print("*");
                    }
                    System.out.println();
               }
           }
    }
    

    我们看看这个图像有多少行? 总共有5行,也就是说我们需要循环5次打印才可以

    外部循环

    for(int i=1;i<=5;i++){
       //循环块2
    }
    

    这个循环控制输出的行数,我们这里是5行“星号”,所以这个循环控制成5次

    我们开始写里面的循环

    内部循环


    里面定义一个循环,变量为 j

     for(int j=1;j<=i;j++){
       System.out.print("*");
     }
    

    的初始值定义为1,并且j<=i (i也是累加,到5停止),它的循环次数也是循环5次,因为我们这个图像的最后一个输出是5颗“星号”,这里是循环输出了5颗“星号”,所以,j超出5必须停止循环

    总体运行过程

    到这,许多人会感到有点迷茫,不过没有关系,这是正常,我们好好看看它如何运行:

    首先注意看变量:i=1、j=1、i<=5、j

    循环运行变化

    外层第一次循环: i为1时,开始第一次循环,开始运行里面的第 i(1)次循环,这时,里面的循环,j为1时j<=i 此时i为1),所以会输出1颗“星号”

    拆解代码:第一次外层循环
    内层

    for(int j=1;j<=1;j++){
      System.out.print("*");
    }
    System.out.println();
    

    外层第三次、第四次、第五次与第二次一样i不断累加,依次输出3颗“星号”、4颗“星号”、5颗“星号”

    就不多演示了,还不懂的话,就看看拆解代码的内层循环的循环条件的变化

    注意:System.out.print("*"):没有ln的,所以不会换行,于是内层循环的“星号”是横排叠加的

    示例二

    打印九九乘法表
    因为这个题目,和上面的代码以及原理一样,只是改变了一些内容,所以我就直接放代码了

    代码

    public class Jjcfb {
        public static void main(String[] args) {
                    for(int i=1;i<=9;i++){
                        for(int j=1;j<=i;j++){
                            System.out.print(j+"*"+i+"="+i*j+" ");
                        }
                        System.out.println();
                    }
        }
    }

     九九乘法表一共有九行,所以外层限制行数为9,于是i=1;i<=9
    内层还是j=1;j<=i
    如果还不懂,可以用IDEA调试慢慢摸索,这样记忆力更加深刻

     扩展

    给大家放一个问题:这样用“*”输出一个菱形

    点击链接查看答案:双重for循环(嵌套for循环) - 小简博客 (janyork.com)https://blog.janyork.com/index.php/archives/429/

    展开全文
  • 双重for循环优化

    千次阅读 2020-12-28 10:18:30
    双重for循环优化 双重for循环优化思想:主要是将某一层的数据转成map类型,用比较字段去map里面get,若拿到数据则匹配上了 由于是在云上开发,代码拿不下来(公司限制了),就只能截图了,希望读者将就着看。 ...

    双重for循环优化

    双重for循环优化思想:主要是将某一层的数据转成map类型,用比较字段去map里面get,若拿到数据则匹配上了

    由于是在云上开发,代码拿不下来(公司限制了),就只能截图了,希望读者将就着看。

     

    展开全文
  • JavaScript 双重for循环

    2021-09-28 02:53:18
    1. 双重 for循环概述; 很多情况下,单层 for 循环并不能满足我们的需求,比如我们要打印一个5行5列的图形、打印一个...例如在for循环语句中,可以再嵌套一个for循环,这样的for循环语句 我们称之为双重for循环 ...
  • 2、双重 for 循环 3、while 循环 4、do while 循环 5、continue brea 1、for 循环 for 循环主要用于把某些代码循环若干次,通常跟计数有关系。其语法结构如下: for(初始化变量; 条件表达式; 操作...
  • public class test { public static void main(String[] args) throws InterruptedException { List<Member> list1 = new ArrayList<>(); List<... for (int i = 0; i < 30000; i++)
  • for循环-双重for循环

    千次阅读 2020-11-30 08:50:44
    for循环-双重for循环 1 - 循环 1.1 for循环 语法结构 for(初始化变量; 条件表达式; 操作表达式 ){ //循环体 } | 名称 | 作用 | 初始化变量 | 通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明...
  • 双重for循环及其案例

    2021-12-11 09:49:40
    for(var i = 1; i<= 3; i++){ console.log('外层循环 i ',i); for(var j = 1; j<=2; j++){ console.log(i,'内层循环 j ',j); } } 案例一--九九乘法表 1x1=1 2x1=2 2x2=4 3x1=3 3x2=6 3x3=9 ...
  • 【JavaScript双重for循环题】
  • java中的双重for循环

    2022-04-01 17:34:35
    代码块1所在的for循环时外层循环,代码块2所在的for循环时内层循环 当外层循环循环1次时 内层循环会循环1轮 即 int num = 1; int nums = 2; for(int i = 0;i<5;i++){ for(int j = 0
  • java 优化双重for循环

    千次阅读 2022-04-07 13:40:43
    首先我们要有两个对象分别是 学生信息 和 学生住宿信息 class Student { //学生id private Integer studentUserId; //学生名称 private String name; } class Student { //学生id ... pri
  • Java 双重 for 循环

    千次阅读 多人点赞 2020-11-19 19:24:20
    双重for循环 在for循环语句中,可以再嵌套一个for循环,这样的for循环语句我们称之为双重for循环。 实例: 1.钟表时间: public static void main(String[] args) { for (int i = 1; i <= 12 ; i++) { System...
  • C语言提供了好几种循环结构,即while、for和do-while。汇编语言中并没有相应的指令存在,作为替代,将条件测试和跳转组合起来实现循环的效果。大多数汇编器根据一个循环的do-while形式来产生循环代码,即使在实际...
  • 程序跳出双重for循环汇总

    千次阅读 2021-02-16 09:25:00
    1、单重for循环的break 代码 @Test public void test1() { for (int i = 0; i < 7; i++) { if (i == 2) { break; } else { System.out.println("i=" + i); } } } 结果 2、单重for循环的cont
  • vue 双重for循环

    2021-05-26 13:38:37
    li v-for="(item,key) in appList" :key="key"> <img :src="item.icon" :alt="item.name" /> <p>{{item.name}}</p> <div> <span v-for="(tagItem,key) in item.tags" :.
  • oracle的双重for循环

    2021-04-30 11:19:42
    总结 以上是编程之家为你收集整理的oracle的双重for循环全部内容,希望文章能够帮你解决oracle的双重for循环所遇到的程序开发问题。 如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。 本图文...
  • for和双重for循环的用法和案例举例

    千次阅读 2020-08-16 15:02:23
    7.1 for循环 ​ for ( 初始化变量;条件表达式;操作表达式){ //循环体 } 1.初始化变量:就是用var 声明的一个普通变量,在循环(代码块)开始之前执行。通常用于计数器的使用。可以不写。 2.条件表达式 就是用来...
  • 解决双重for循环效率问题题目说明题解 题目说明 当拥有2个表时,订单表和物品表 时,订单表(客户名称,订单ID)和物品表(订单ID,物品名称)一个客户可以购买多个物品,但是他们的订单ID是唯一的,数据库中数据以...
  • 双重for循环理解

    2021-01-16 19:36:30
    // for循环 import java.util.Scanner; public class test2{ public static void main(String[] args){ // 有一个变量 进入的条件 退出的机制 /*创建变量 判断是否满足条件 执行代码 变量加一 判断 执行 加一 知道不...
  • //双重for循环 for(i = 0;i < arr.length; i++){ for(j = i+1;j < arr.length; j++){ //如果数组中有两个数相等,这里用三位运算符 if(arr[i] === arr[j]){ //在第j个元素开始删除,删除1个元素。splice...
  • break break语句用于终止某个循环,使程序跳到循环块外的下一条语句 在循环中位于break后的语句将不再执行 break 语句不仅可以用在for循环中,也可以用在其他循环中 ...双重for循环 ...
  • 一、在控制台中输出以下字符样式:"""***************"...for r in range(3):#0 1 2for c in range(5):#01234 01234 01234print("*",end = "") #在一行输出print()...
  • 上一章我们讲了while和do...while循环,这一章我们来学习一下C语言中的另外一种循环结构:for循环。我们先来看一下for循环的结构:for(expression1;expression2;expression3){statement}在关键字for之后的圆括号中...
  • 1.打印直角三角形。代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">...meta name="viewport" content="width=device-width, initial-scale=1.0">... .
  • C语言中的三种循环语言while、do……while、for,三种循环语句各有特点,用法也不尽相同。下面我们一一介绍。一:While语句While语句的基本形式是:while(判断语句){ 循环体}它的执行顺序是先进行逻辑判断,如果...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 40,387
精华内容 16,154
关键字:

双重for循环

友情链接: mistletoe-ebp-master.zip