1、for循环

news2024/11/25 10:27:36

①for循环 

在程序中,一组被重复执行的语句被称之为循环体, 能否继续重复执行,取决于循环的终止条件 , 由循环体及循环的终止条件组成语句,被称之为循环语句

   1.1语法结构

for循环主要用于把某些代码循环若干次,通常跟计算有关系,其次语法结构如下:

for (初始化变量;条件表达式;操作表达式){
           // 循环体
     }

下面代码演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>for循环语法</title>
    <script>
        /* 在程序中,一组被重复执行的语句被称之为循环体,
        能否继续重复执行,取决于循环的终止条件 ,
        由循环体及循环的终止条件组成语句,被称之为循环语句
          */
        // 1、for 重复执行某些代码,通常跟计数有关系
        // 2、for 语法结构
        // // for (初始化变量;条件表达式;操作表达式){
        //     // 循环体
        // }
        // 3、初始化变量 就是用var声明的一个普通变量, 通常用于作为计算器使用
        // 4、条件表达式 就是用来解决每一个循环是否继续执行 就是终止的条件
        // 5、操作表达式 是每次循环最后执行的代码 经常用于我们的计算器变量进行更新(递增或者递减)
        // 6、代码体验 我们重复打印100局 你好
        for(var i = 1; i <= 100; i++){
              console.log('你好');
        }

    </script>
</head>
<body>
    
</body>
</html>

2.1语法结构

断点调试:

断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下

断点调试可以帮我们观察程序的运行过程

浏览器中按F12-->source5-->找到需要调试的文件->在程序的某一行设置点Watch:监视,通过watch可以监视变量的值的变化,非常的常用
F11:程序单步执行,让程序一行一行的执行,这个时候,观察watch中变量的值的变化。
代码调试的能力非常重要,只有学会了代码调试,才能学会自己解决bug的能力。初学者不要觉得调试代码麻烦就不去调试知识点花点功夫肯定学的会,但是代码调试这个东西,自己不去练,永远都学不会今天学的代码调试非常的简单,只要求同学们记住代码调试的这几个按钮的作用即可,后面还会学到很多的代码调试技巧。

演示:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>for循环语法</title>
    <script>
        /* 在程序中,一组被重复执行的语句被称之为循环体,
        能否继续重复执行,取决于循环的终止条件 ,
        由循环体及循环的终止条件组成语句,被称之为循环语句
          */
        // 1、for 重复执行某些代码,通常跟计数有关系
        // 2、for 语法结构
        // // for (初始化变量;条件表达式;操作表达式){
        //     // 循环体
        // }
        // 3、初始化变量 就是用var声明的一个普通变量, 通常用于作为计算器使用
        // 4、条件表达式 就是用来解决每一个循环是否继续执行 就是终止的条件
        // 5、操作表达式 是每次循环最后执行的代码 经常用于我们的计算器变量进行更新(递增或者递减)
        // 6、代码体验 我们重复打印100局 你好
        for(var i = 1; i <= 100; i++){
              console.log('你好');
        }

    </script>
</head>
<body>
    
</body>
</html>

案例1:

我们需要输出1个人 1~100岁

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>for循环</title>
    <script>
        /* for 循环可以重复执行不同代码  因为我们有计算器变量 i 的存在 i每次循环值都会变化
         */
        //  我们需要输出1个人 1~100岁
        for(var i = 1; i <= 100; i++){
            console.log('你的年龄100岁');
        }

        for(var i = 1; i <= 100; i++){
             console.log('你的年龄是'+i+'岁');
            //  注意:记住 i 是计算器 ,记住我们前面口诀引引加加
        }
        for(var i = 1; i <= 100; i++){
           if (i == 1) {
               console.log('这个人今年1岁啦,他出生啦');
           }else if (i == 100) {
               console.log('这个人今年100岁啦,他死啦');
           }else{
               console.log('这个人今年'+ i +'岁啦');
           }
        }
    </script>
</head>
<body>
    
</body>
</html>

案例2:

打印出100次“媳妇我错啦”,或者输入几次打印几次

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        // for循环可以执行相同代码
        for (var i = 1; i <= 10; i++) {
            console.log('媳妇我错啦');
        }

        //我们可以让用户控制输出的次数
        var age = prompt('请您输入次数:');
        for (var i = 1; i <= age; i++) {
            console.log('媳妇我错啦');
        }
    </script>
</head>

<body>

</body>

</html>

案例3:

1-100整数计算

1、需要循环100次,我们需要一个计算器i

 2、我们需要一个存储结构的变量sum,但是初始值一定是0

 3、核心算法:1+2+3+4......,sum = sum + i

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>for循环案例</title>
    <script>
        /* 1、需要循环100次,我们需要一个计算器i
        2、我们需要一个存储结构的变量sum,但是初始值一定是0
        3、核心算法:1+2+3+4......,sum = sum + i ;*/
        var num = 0;
        for(var i = 1; i <= 100; i++){
            num += i;
        }
        console.log(num);
    </script>
</head>
<body>
    
</body>
</html>

案例4:

求1-100之间所有数的平均值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>for循环案例</title>
    <script>
        //  1、求1-100之间所有数的平均值      需要一个sum和的变量 还需要一个平均average 变量
        // var sum=0;
        // var average=0;
        // for(var i = 1; i <= 100; i++){
        //     sum=sum + i;
        // }
        // // 这里sum值是5050
        // average = sum / 100;
        // console.log(average);

        // 2、求1-100之间所有偶数和奇数的和  我们需要一个偶数和变量 even    还有一个奇数 odd
        var even=0;
        var odd=0;
        for(var i=1; i <= 100;i++){
           if (i % 2 == 0) {
               even=even + i;
           }else if (i % 2 != 0) {
               odd=odd + i;
           }
        }
        console.log('1-100的偶数是:'+ even);
        console.log('1-100的奇数是:'+ odd);
        // 3、求1-100之间所有能被3整除的数字的和  result
        var result=0;
        for(var i = 1;i <= 100; i++){
            if (i % 3 == 0) {
                result=result + i;
            }
        }
        console.log('1-100之间所有能被3整除的和:'+ result);

       
    </script>
</head>
<body>
    
</body>
</html>

案例5:

要求用户输入行数和列数,之后在控制台打印出来用户输入行数和列数的星星

<!--
 * @Author: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
 * @Date: 2023-08-01 20:54:42
 * @LastEditors: error: error: git config user.name & please set dead value or install git && error: git config user.email & please set dead value or install git & please set dead value or install git
 * @LastEditTime: 2023-08-07 23:04:25
 * @FilePath: \vscode代码存放\java Script\1.循环\案例打印几行几列的星星.html
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
-->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例打印几行几列案例</title>
    <script>
        /* 要求用户输入行数和列数,之后在控制台打印出来用户输入行数和列数的星星 */
        var Come = '';
        var age = prompt('请输入行数字:');
        var str = prompt('请输入列数字:');
        for (var i = 1; i <= age; i++) {
            for (var j = 1; j <= str; j++) {
                Come = Come + '★';
            }
            Come = Come + '\n';
        }
        alert(Come);
    </script>
</head>

<body>

</body>

</html>

案例6:

1、里层打印五颗星星

2、外层打印五行

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>星星为例子</title>
    <script>
        // 1、里层打印五颗星星
        // 2、外层打印五行
        var str = '';
        // var age = '';
        for(var i =1; i <= 5; i++){
            //   age = age + '☆'
            for(var j=1; j <= 5; j++){
                str = str + '☆'
            }
            // 如果打印完毕5个星星就要另外起一行 加 \n
            str = str + '\n';
        }
        console.log(str);
    </script>
</head>
<body>
    
</body>
</html>

案例7:

打印倒三角形

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>案例打印倒三角形</title>
    <script>
        // 1、倒三角形
        // var str = '';
        // for(var i = 1; i <= 10; i++){ //外层循环控制行数
        //     for(var j = i; j <= 9; j++){ //里层循环打印的个数不愿意 j = 1
        //          str = str +'☆';
        //     }
        //     str = str + '\n';
        // }
        // console.log(str);

        // 2、正三角形
        var str = '';
        for(var i = 1; i <= 10; i++){
            for(var j = 1; j <= i; j++){
                // 这个原理就是外层一行就是一颗星星
                // 外层2行就是2颗星星
                str = str + '☆';
            }
           str = str + '\n';
        }
       console.log(str);

    </script>
</head>
<body>
    
</body>
</html>

案例8:

1、弹出输入框输入总的班级人数num

2、依次输入学生成绩 保存起来score, 此时我们需要用到for循环,弹出的次数跟班级总人数有关系  条件表达式 i<=num

3、进行业务处理:计算成绩。先求总成绩sum ,之后求平均成绩average

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>for循环案例分析</title>
    <script>
        /* 1、弹出输入框输入总的班级人数num
        2、依次输入学生成绩 保存起来score, 此时我们需要用到for循环,弹出的次数跟班级总人数有关系  条件表达式 i<=num
        3、进行业务处理:计算成绩。先求总成绩sum ,之后求平均成绩average
        4、弹出结果*/ 
        var score;
        var sum = 0; //总成绩
        var average = 0; //平均成绩
        var num = prompt ('请输入你班级总人数:');
        for(var i=1; i <= num; i++){
            score = prompt('第'+ i +'个成绩为:');  
            // console.log(score);
            sum = sum + parseFloat(score);
        }
        average=sum / num;
       alert('班级总人数'+ num +'总成绩是:' + sum);    
       alert('班级总人数'+ num +'平均成绩是:'+ average);
        // console.log('班级总人数'+ num +'总成绩是:' + sum);    
        // console.log('班级总人数'+ num +'平均成绩是:'+ average);
        



    </script>
</head>
<body>
    
</body>
</html>

 案例9:

九九乘法表

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>九九乘法表案例</title>
    <script>
        /* 一共有9行,但是每一行的个数不一样,因此需要用到双重for循环
        外层的for循环控制行数i ,循环9次,可以打印9行
        内层的for循环控制每一行公式 j
        核心算法:每一行公式的个数正好和行数字一致,j<=i */
        var str = '';
        for(var i=1; i <= 9 ; i++){  //行
            for(var j=1; j <= i ; j++){  //列
                // 1 x 2 = 2;
                 str  += j + 'x'+ i + '=' + i * j +'\t';
            }
           str +='\n';
        }
        // alert(str);
        console.log(str);
    </script>
</head>
<body>
    
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/848383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Protues如何安装下载使用:STM32利用Protues进行仿真

文章目录&#xff1a; 一&#xff1a;Proteus仿真的使用步骤 第一步&#xff1a;Proteus新建项目 第二步&#xff1a;Proteus设计电路图&#xff08;选取元器件、摆放元器件、编辑元器件属性、原理图布线&#xff09; 第三步&#xff1a;程序代码编写 第四步&#xff1a;…

el-tree-select那些事

下拉菜单树形选择器 用于记录工作及日常学习涉及到的一些需求和问题 vue3 el-tree-select那些事 1、获取el-tree-select选中的任意层级的节点对象 1、获取el-tree-select选中的任意层级的节点对象 1-1数据集 1-2画面 1-3代码 1-3-1画面代码 <el-tree-selectv-model"s…

gitlab-Runner搭建

root wget https://packages.gitlab.com/runner/gitlab-runner/packages/fedora/29/gitlab-runner-12.6.0-1.x86_64.rpm/download.rpm rpm -ivh download.rpm ---- 安装 rpm -Uvh download.rpm -----更新升级 然后运行&#xff1a; gitlab-runner register --url https://git…

vue3项目中引入dialog插件,支持最大最小化、还原、拖拽

效果图&#xff1a; 上图是layui-vue组件库中的layer插件&#xff0c;我的项目使用的是element-plus组件库&#xff0c;在用不上layui组件库的情况下&#xff0c;就单独引入layui/layer-vue这个弹层插件就可以了 npm地址&#xff1a;layui/layer-vue - npm layui-vue组件库地址…

mysql_docker主从复制_实战_binlog混合模式_天座著

步骤1&#xff1a;拉取镜像 docker pull mariadb:latest 步骤2.1&#xff1a;创建两个文件夹用于放置挂载mysql的my.cnf /tianzuomysqlconf/master /tianzuomysqlconf/slave mkdir /tianzuomysqlconf cd /tianzuomysqlconf mkdir master mkdir slave 步骤2.2&#xff1a;创…

ssh 连接断开,正在执行的shell脚本也被中断了

背景 最近在训练chatGLM&#xff0c;一次训练经常要花掉近2个小时&#xff0c;但是由于网络不稳定&#xff0c;经常ssh莫名的断开&#xff0c;导致训练不得不重新开启&#xff0c;这就很浪费时间了 解决方案 下面教大家一种在后台执行命令的方案&#xff0c;即使你ssh连接断…

层状介质一维大地电磁数值模拟

层状介质一维大地电磁数值模拟 前言 大地电磁测深法&#xff08; MT&#xff09;是根据电磁感应原理研究天然场源在地下激励产生的交变电场或者磁场&#xff0c;通过地表观测到的电磁场或者通过电磁场计算出视电阻率或者相位等量来进行地下构造研究的一种电磁方法。由于它不需…

★动态规划(DP算法)详解

什么是动态规划&#xff1a;动态规划_百度百科 内容太多了不作介绍&#xff0c;重点部分是无后效性&#xff0c;重叠子问题&#xff0c;最优子结构。 问S->P1和S->P2有多少种路径数&#xff0c;毫无疑问可以先从S开始深搜两次&#xff0c;S->P1和S->P2找出所有路…

【Linux】深入理解进程概念

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;Linux仓库 个人专栏&#xff1a;Linux专栏 分享一句喜欢的话&#xff1a;热烈的火焰&#xff0c;冰封在最沉默的火山深处 文章目录 前言浅谈进程概念1. 进程和操作系统的联系2.描述进程的对象——PCB …

MongoDB:Linux环境全套安装指南

&#x1f60a; 作者&#xff1a; 一恍过去 &#x1f496; 主页&#xff1a; https://blog.csdn.net/zhuocailing3390 &#x1f38a; 社区&#xff1a; Java技术栈交流 &#x1f389; 主题&#xff1a; MongoDB&#xff1a;Linux环境全套安装指南 ⏱️ 创作时间&#xff1a…

Hybrid App 可以从哪些技术路径实现性能优化

说到 Hybrid App&#xff08;混合应用&#xff09;大家都不陌生&#xff0c;因为这种开发模式大行其道发展的这些年取代了很多原生和 Web 应用&#xff0c;为什么大家对这种「Native HTML5」的开发模式额外偏爱呢&#xff1f; 因为一方面在一定程度上兼顾了原生应用的优质体验…

compile_and_runtime_not_namespaced_r_class_jar\debug\R.jar: 另一个程序正在使用

问题情况&#xff1a; run App的时候&#xff0c;提示该文件被占用 想要clean Project&#xff0c;还是提示该文件被占用&#xff0c;这个文件和连带的文件夹都无法被删除。 方法1&#xff1a; AndroidStudio下方的terminal&#xff08;没有这个窗口的话&#xff0c;从上面的…

Java源码-Context源码解析

您好&#xff0c;我们来一起了解一下Java源码中的Context源码解析。 Context是Android中的一个重要的概念&#xff0c;在Android开发中可以用来获取应用程序的各种信息&#xff0c;如Activity、Service、Application等等。在Android中&#xff0c;Context是一个抽象类&#xf…

虚拟机centos7配置网络

虚拟机centos7配置网络 centos7克隆之后需要配置网络才能联网。 实验环境&#xff1a; VMware Workstation Pro 16CentOS 7系统虚拟机主机Windows 11系统 1.VMware网络模式设置为NAT模式 虚拟机–设置–网络适配器– ​​ ‍ 2.查看虚拟机 子网IP和网关IP 编辑–虚拟网…

AcWing 129:火车进栈 ← DFS

【题目来源】https://www.acwing.com/problem/content/131/【题目描述】 这里有 n 列火车将要进站再出站&#xff0c;但是&#xff0c;每列火车只有 1 节&#xff0c;那就是车头。 这 n 列火车按 1 到 n 的顺序从东方左转进站&#xff0c;这个车站是南北方向的&#xff0c;它虽…

【vue3】基础知识点-组合式api-recative和ref函数

学习vue3&#xff0c;都会从基础知识点学起。了解setup函数&#xff0c;ref&#xff0c;recative&#xff0c;watch、computed、pinia等如何使用 今天说vue3组合式api&#xff0c;响应式函数recative和ref函数 recative函数&#xff1a;接收对象类型数据的参数传入&#xff0…

激光雷达测距和摄像头联合棋盘格反射率标定板

目前&#xff0c;激光雷达不仅在军事上起到了重要的作用&#xff0c;而且发挥其测程大、精度高、反应速度快、可靠性高等优点&#xff0c;在商业领域应用越来越广&#xff0c;发展越来越迅速&#xff0c;具有较高的实用价值和商业价值。车载三维成像激光雷达采用脉冲式测量原理…

【PCL-6】PCL基于凹凸型的分割算法

凹凸型分割算法适用于颜色类似、棱角分明的物体场景分割。 算法流程&#xff1a; 1、基于超体聚类的过分割&#xff1b; 2、在超体聚类的基础上再聚类。 示例代码&#xff1a; //超体聚类LCCP //#include "stdafx.h"#include <stdlib.h> #include <cm…

Linux 安装软件的几种方式

哈喽大家好&#xff0c;我是咸鱼 相信小伙伴们都知道在 Linux 中&#xff0c;安装软件一般有三种方式 yum 安装rpm 安装源码编译安装 咸鱼平时三种安装方式都会用&#xff0c;但是具体原理和区别却没有去深入了解过 结果上周部门刚来的新人问我这几种安装方式的时候&#x…

连续四年入选!三项荣耀!博云科技强势上榜Gartner ICT技术成熟度曲线

日&#xff0c;全球知名咨询公司Gartner发布了2023年度的《中国ICT技术成熟度曲线》&#xff08;《Hype Cycle for ICT in China, 2023》&#xff0c;以下简称“报告”&#xff09;。令人瞩目的是&#xff0c;博云科技在报告中荣获三项殊荣&#xff0c;入选云原生计算&#xff…