0124 for循环:语法结构、执行过程、案例

1.1 for循环

1.1.1 语法结构

for(初始化变量; 条件表达式; 操作表达式 ){
    //循环体
}
名称 作用
初始化变量 通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。
条件表达式 用于确定每一次循环是否能被执行。如果结果是 true, 就继续循环,否则退出循环。
操作表达式 用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。

1.1.2 执行过程:

1、初始化变量,初始化操作在整个 for 循环只会执行一次。

2、执行条件表达式,如果为true,则执行循环体语句,否则退出循环,循环结束。

3、执行操作表达式,此时第一轮结束。

4、第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true ,则去执行循环体语句,否则退出循环。

5、继续执行操作表达式,第二轮结束。

6、后续跟第二轮一致,直至条件表达式为假,结束整个 for 循环。

        for 循环的执行过程
        1. 首先执行里面的计数器变量  var i = 1 .但是这句话在for 里面只执行一次  index
        2. 去 i <= 100 来判断是否满足条件, 如果满足条件  就去执行 循环体  不满足条件退出循环 
        3. 最后去执行 i++   i++是单独写的代码 递增  第一轮结束 
        4. 接着去执行 i <= 100 如果满足条件  就去执行 循环体  不满足条件退出循环   第二轮
        
        for (var i = 1; i <= 100; i++) {
            console.log('你好吗');
        }


1.1.3 for 循环重复相同的代码

比如输出10句“媳妇我错了”

//  基本写法
for(var i = 1; i <= 10; i++){
    console.log('媳妇我错了~');
}
// 用户输入次数
var num = prompt('请输入次数:');
for ( var i = 1 ; i <= num; i++) {
    console.log('媳妇我错了~');
} 

1.14 for 循环重复不相同的代码

for循环因为有了计数器的存在,还可以重复的执行某些操作,比如做一些算术运算。

例如,求输出1到100岁:

//  基本写法
for (var i = 1; i <= 100; i++) {
      console.log('这个人今年' + i + '岁了');
}

例如,求输出1到100岁,并提示出生、死亡

// for 里面是可以添加其他语句的 
for (var i = 1; i <= 100; i++) {
 if (i == 1) {
    console.log('这个人今年1岁了, 它出生了');
 } else if (i == 100) {
    console.log('这个人今年100岁了,它死了');
  } else {
       console.log('这个人今年' + i + '岁了');
  }
}
        demo:平均值、奇偶数和、整除和
        // 1. 求1-100之间所有数的平均值   需要一个 sum 和的变量 还需要一个平均值 average 变量
        var sum = 0;
        var average = 0;
        for (var i = 1; i <= 100; i++) {
            sum = sum + i;
        }
        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 {
                odd = odd + i;
            }
        }
        console.log('1~100 之间所有的偶数和是' + even);
        console.log('1~100 之间所有的奇数和是' + odd);

        // 3. 求1-100之间所有能被3整除的数字的和   
        var result = 0;
        for (var i = 1; i <= 100; i++) {
            if (i % 3 == 0) {
                // result = result + i;
                result += i;
            }
        }
        console.log('1~100之间能够被3整数的数字的和是:' + result);
        demo:求学生成绩
        // 弹出输入框输入总的班级人数(num)
        // 依次输入学生的成绩( 保存起来 score), 此时我们需要用到
        // for 循环, 弹出的次数跟班级总人数有关系 条件表达式 i <= num
        // 进行业务处理: 计算成绩。 先求总成绩( sum), 之后求平均成绩( average)
        // 弹出结果
        var num = prompt('请输入班级的总人数:'); // num 总的班级人数
        var sum = 0; // 求和的变量
        var average = 0; // 求平均值的变量
        for (var i = 1; i <= num; i++) {
            var score = prompt('请您输入第' + i + '个学生成绩');
            // 因为从prompt取过来的数据是 字符串型的需要转换为数字型
            sum = sum + parseFloat(score);
        }
        average = sum / num;
        alert('班级总的成绩是' + sum);
        alert('班级平均分是:' + average);

猜你喜欢

转载自www.cnblogs.com/jianjie/p/12143679.html