JavaScript 流程控制-循环
目录
一、for 循环
例1: 输出100句“你好”。
例2:求1-100之间所有整数的累加和
例3:求1-100之间所有数的平均值
例4:求学生成绩
例5:求1-100之间所有偶数和奇数的和
例6:求1-100之间所有能被3整除的数字的和
二、双重 for 循环
例1:打印 n 行 n 列的星星
例2:打印倒三角形
例3:打印九九乘法表
一、for 循环
for 循环主要用于把某些代码循环若干次,通常跟计数有关系。其语法结构如下:
for(初始化变量; 条件表达式; 操作表达式 ){ //循环体 }
初始化变量:通常被用于初始化一个计数器,该表达式可以使用 var 关键字声明新的变量,这个变量帮我们来记录次数。
条件表达式:用于确定每一次循环是否能被执行。如果结果是 true 就继续循环,否则退出循环。
操作表达式:每次循环的最后都要执行的表达式。通常被用于更新或者递增计数器变量。当然,递减变量也是可以的。
执行过程:
1. 初始化变量,初始化操作在整个 for 循环只会执行一次。
2. 执行条件表达式,如果为true,则执行循环体语句,否则退出循环,循环结束。
3. 执行操作表达式,此时第一轮结束。
4. 第二轮开始,直接去执行条件表达式(不再初始化变量),如果为 true ,则去执行循环体语句,否则退出循环。
5. 继续执行操作表达式,第二轮结束。
6. 后续跟第二轮一致,直至条件表达式为假,结束整个 for 循环。
例1: 输出100句“你好”。
Document var num = prompt("请输入循环次数!"); for (var i = 1; i <= num; i++) { document.write(i + "、" + "你好!"); }
例2:求1-100之间所有整数的累加和
Document var sum = 0; for (var i = 1; i <= 100; i++) { sum += i; } document.write("1~100的累加和为:" + sum);
例3:求1-100之间所有数的平均值
Document var sum = 0; for (var i = 1; i <= 100; i++) { sum += i; } document.write("1~100的平均值为" + sum / 100);
例4:求学生成绩
Document var num = prompt("请您输入班级的总人数:"); var sum = 0;var avg = 0;for (var i = 1; i <= num; i++) { var score = prompt("请输入第" + i + "个学生的成绩");sum += parseFloat(score); } avg = sum / num; alert("班级总的成绩是:" + sum); alert("班级的平均分是:" + avg);
例5:求1-100之间所有偶数和奇数的和
Document var ouShu = 0; var jiShu = 0; for (var i = 1; i <= 100; i++) { if (i % 2 == 0) { ouShu += i; } else { jiShu += i; } } console.log("1~100之间的偶数和是:" + ouShu); console.log("1~100之间的奇数和是:" + jiShu);
例6:求1-100之间所有能被3整除的数字的和
Document var sum = 0; for (var i = 1; i <= 100; i++) { if (i % 3 == 0) { sum = sum + i; } } document.write("1~100能被三整除的数字和为:" + sum);
二、双重 for 循环
双重 for 循环语法:
for (外循环的初始; 外循环的条件; 外循环的操作表达式) { for (内循环的初始; 内循环的条件; 内循环的操作表达式) { 需执行的代码; } }
1、内层循环可以看做外层循环的语句
2、内层循环执行的顺序也要遵循 for 循环的执行顺序
3、外层循环执行一次,内层循环要执行全部次数
例1:打印 n 行 n 列的星星
Document var row = prompt("请输入您打印几行星星:"); var col = prompt("请输入您打印几列星星:"); var str = ""; for (var i = 1; i <= row; i++) { for (j = 1; j <= col; j++) { str += "☆"; } str += "\n"; } console.log(str);
例2:打印倒三角形
Document var str = ""; for (var i = 1; i <= 10; i++) { for (var j = i; j <= 10; j++) { str += "★"; } str += "\n"; } console.log(str);
例3:打印九九乘法表
Document var str = ""; for (var i = 1; i <= 9; i++) { // 外层for控制 行数 9行 for (var j = 1; j <= i; j++) { // j 控制列数 列数和行数是一样的 j <= i str += j + " × " + i + " = " + i * j + "\t"; } str += "\n"; } console.log(str);