第6章:Javascript循环结构之for循环

本章目标

  1. 掌握什么是循环及循环的特点
  2. 掌握for循环的语法
  3. 熟练使用for循环

课程回顾

  1. swtich选择结构的语法和特点
  2. 所学习的选择结构有那些?

讲解内容

1. 生活中的循环

image-20211215173408537

  1. 分析生活中循环的特点:
    1. 循环条件
    2. 循环操作体

2. 为什么要使用循环

  1. 问题:在控制台输出100次“好好学习,天天向上!”,如何实现?

    image-20211215175619472

    image-20211215175653965

  2. 使用循环来实现

    1
    2
    3
    for(var i=0;i<10000;i++){
    console.log("好好学习,天天向上");//可以输出10000条
    }

3. JavaScript 支持不同类型的循环:

  • for - 循环代码块一定的次数
  • for/in - 循环遍历对象的属性
  • while - 当指定的条件为 true 时循环指定的代码块
  • do/while - 同样当指定的条件为 true 时循环指定的代码块

4. for循环

  1. 语法:

    1
    2
    3
    4
    for (语句 1; 语句 2; 语句 3)
    {
    被执行的代码块
    }

    说明:

    语句 1 (代码块)开始前执行,一般情况是做初始化

    语句 2 定义运行循环(代码块)的条件

    语句 3 在循环(代码块)已被执行之后执行,一般是变量迭代

    image-20211215180921742

  2. 实例:用for循环输出1-5

    1
    2
    3
    for(var i=1;i<=5;i++){
    console.log(i);
    }

    分析:

    1. var i=1;此为初始化变量,也就是说i从1开始。
    2. i<=5;为循环满足的条件,当条件为true,则执行循环体内容,不满足循环结束
    3. console.log(i);当条件为true才会执行,也就是第二步为true,才会执行。
    4. i++;迭代,每执行一次循环操作体,则i++,然后再进行第二步判断

5. for循环代码阅读

  1. 表达式1,可以不写,也可以写N个

    1
    2
    3
    4
    5
    6
    7
    8
    9
    方式一:省略初始化
    var i=0;
    for(;i<5;i++){//将初始化省略,但是必须要有分号
    console.log(i);
    }
    方式二:初始化多个
    for(var i=0,j=5;i<5;i++,j--){ //多个初始化用逗号隔开,迭代也可以是多个
    console.log(i+"+"+j+"="+(i+j));
    }
  2. 条件表达式也可以省略,但会出现死循环

    1
    2
    3
    for(var i=0;;i++){//省略了条件,程序会出现死循环
    console.log(i);
    }
  3. 所有表达式都可以省略,同样会出现死循环,因为没有条件

    1
    2
    3
    for(;;){

    }

6. 案例

  1. 求1~100之间不能被3整除的数之和
1
2
3
4
5
6
7
var sum=0;//求和的变量
for(var i=1;i<100;i++){
if(sum%3!=0){//不能被3整除
sum+=i;//累加求和
}
}
console.log("和:"+sum);

课后作业

作业1:输出1-100以内所有的偶数

作业2:输出1-100以内所有能被3整除的数

作业3:输出1-100以内所有能被3整除且为偶数的数

作业4:黄林超在银行存了1000元,年利率为3%,请问10年后他的本息和共多少钱?

作业5:有一堆香蕉共26根,邓家远每天吃掉一半再多吃一根,请问吃了5天后还剩多少?

作业6:李成志把一个篮球从6楼扔下,篮球每次回弹的距离为上一次掉落距离的一半,请问第10次回弹的高度是多少?(楼房单层高度为4m)

作业7:求 1到10 之间的奇数乘积

作业8:求 30 到60 之间的偶数和的5倍

作业9:将求1到n之间的每个数乘以3后加1输出

作业10:从100每次递减5输出直至5

作业11:1至50中是7的倍数的数值之和

作业12:循环录入Java课的学生成绩,统计分数大于等于80分的学生比例