第三章 流程控制之— 循环结构
理解循环的含义
会使用while循环结构
会使用do-while循环结构
流程控制:
顺序结构 左=右,
分支机构
if分支和switch分支
循环四要素
1. 初始化表达式
2. 条件判断
3. 循环的代码块
4. 步进表达式
第一节: while循环
1、什么是循环
重复的做 重复的执行一个事
循环是一种重复执行多行代码的方法
2、为什么用循环
为了方便 。
3、语法:
while(条件表达式){
代码块;
步进表达式;
}
执行流程:
判断while条件表达式是否满足,满足执行代码块》步进表达式。
在继续判断条件表达式,满足执行一直到不满足 退出循环
初始化表达式和循环条件,步进表达式,共同决定了循环的次数。
注意事项:
while后边的括号中的值就是一个boolean类型 结果只有true/false,
避免while(true/false),的写法
避免 while(1/0);在js中 1就是true;0就是false;
求1–100之间所有整数的和。
var i = 1;
var sum=0;
while(i<=100){
sum=sum+i;//sum+=i;
i++;
}
document.write(sum);
输出1-100之间的所有偶数,并且求出1-100之间的所有偶数和。
var i=2;
var sum=0;
while(i<=100){
if(i%2==0){
sum+=i;
document.write(i+"<br\>");
}
i++;
}
document.write("偶数和:"+sum);
//===========================================================
/* :马上演出了,令狐冲问盈盈,盈盈满意吗?
令狐冲每天进行训练,早上8点练跳舞,
下午3点练唱歌,晚上6点练rap。如果不满意重复训练,
如果满意,开始进行演出 */
/* var my=prompt("你满意吗?");
while(my=="不满意"){
document.write("早上8点练跳舞,下午3点练唱歌,晚上6点练rap");
my=prompt("满意吗");
} */
//===========================================================
//6个月:每天早7点起床,吃饭 上课 ,吃中午饭 上课 吃完饭 上晚自习。
/* var i=1;
while(i<=180){
document.write("第"+i+ "天,每天早7点起床,吃饭 上课 ,吃中午饭 上课 吃完饭 上晚自习。<br/>");
i++;
}
document("你TM毕业了"); */
4、循环的嵌套
/*
输出
********
********
********
********
********
*/
var a=1;
while(a<=5){
var j=1;
while(j<=5){
document.write("*");
j++;
}
document.write("<br/>")
a++;
}
// **99乘法表:**
//while
/* var j=1;
while(j<=9){
var i=1;
while(i<=j){
document.write(i+"*"+j+"="+(j*i)+" ");
i++;
}
document.write("<br/>");
j++;
} */
二、do while循环
do{
代码块;
}while(条件表达式)
先执行再判断。
区别:do while 跟while 的区别
while:先判断再执行,如果条件不满足,可以一次都不执行。
do while :先执行再判断,就算是条件不满足,也会至少执行一次。
三、for循环
循环四要素:
1.初始化表达式
2.条件表达式
3.循环代码块
4.步进表达式
语法:
for(初始化表达式① ; 条件表达式② ; 步进表达式④ ){
循环代码块 ③;
}
for循环
99乘法表
var i,j;
for(i=1;i<=9;i++){
for(j=1;j<=i;j++){
document.write(j+"*"+i+"="+(j*i)+" ");
}
document.write("<br/>");
}
扩展带有表格的99乘法表。 扩展反向乘法表
document.write("<table border='1px' cellpadding='10px' cellspacing='0' align='center'>")
for(var i=1;i<=9;i++){
document.write("<tr>")
for(var j=1;j<=i;j++){
document.write("<td style='border: 1px solid black;' >")
document.write(j+"*"+i+"="+i*j+"  ");
document.write("</td>")
}
document.write("<br>");
document.write("</tr>")
}
document.write("</table>")
循环录入五次成绩,求和 求平均值 求最大值 求最小值。
var max=0;
var min=10000;
var pjz=0;
var he=0;
for(var i=1;i<=5;i++){
var score=Number(prompt("请输入第"+i+"次成绩")) ;
max=max>score ? max:score;
min=min<score ? min:score;
he+=score;
}
pjz=he/5;
document.write("大"+max+"小"+min+"pjz"+pjz+"he"+he);