流程结构:
1、顺序结构
2、分支结构(选择结构)
3、循环结构
1、分支结构
1、作用
根据条件,选择某一段代码去执行
2、if 结构
1、
if(条件){
满足条件要执行的代码块
}
注意:
1、if 后的 {}是可以省略的,如果省略的话,则只控制该结构下的第一条语句
2、条件尽量是boolean类型的,如果不是,以下条件当成假运算:
1、if(0){}
2、if(0.0){}
3、if(""){}
4、if(NaN){}
5、if(undefined){}
6、if(null){}
ex:
if("吕泽帅吗"){}
2、
if(条件){
语句块1
}else{
语句块2
}
3、
if(条件1){
语句块1
}else if(条件2){
语句块2
}else if(条件3){
语句块3
}else{
语句块n
}
练习:
日期计算器
分三次从弹框中录入年,月,日
计算该日是该年的第?天
1.3.5.7.8.10.12:31天
4.6.9.11:30天
2:平年28天,闰年:29天
2018.1.15 :15
2018.2.3 :34 (31+3)
2018.3.15 : 74(31+28+15)
3、switch 结构
场合:只有在等值判断时使用
语法:
switch(变量){
case 值1:
语句块1
break;//可以省略
case 值2:
语句块2
break;
... ...
default:
语句块n;
//只有所有的case块都未匹配上时,才执行default
}
注意:
1、变量和各个case块后面得知,是使用===的方式来判断的
2、如果case后不增加break的话,则从匹配的case开始,向下依次执行(不判断),直到结束或碰到break为止
练习:
从弹框中输入1-7中的任意一个数字,表示星期1 ~ 星期日
输入1:输出 今天吃红烧肉
输入2:输出 今天吃红烧鱼
输入3:输出 今天吃红烧排骨
输入4:输出 今天吃红烧甲鱼
输入5:输出 今天吃红烧皮皮虾
输入6:输出 今天休息
输入7:输出 今天休息
其他:输入有误!
2、循环结构
1、循环的作用
重复的执行相同或相似的代码
2、循环二要素
1、循环条件
2、循环操作(循环体)
ex:
1、想打印100遍的Hello World
条件:从第1遍开始,到第100遍结束
操作:打印Hello World
2、想打印1-100之间所有的数字
条件:从第1遍开始,到第100遍结束
操作:打印 条件 的值
3、while 循环
1、语法
while(条件){
循环体
}
ex:打印100遍的Hello World
//声明循环条件,从1开始
var i=1;
while(i <= 100){
console.log("Hello World");
//更新循环条件
i++;//++i,i=i+1,i+=1
}
练习:
1、打印1-100之间所有的数字
2、打印1-100之间所有数字的和
3、打印1-100之间所有的3的倍数的数字
问题:循环的从弹框中录入数据,并且将录入的数据打印在控制台上,直到输入 exit 为止
4、do ... while 循环
1、语法
do{
循环体
}while(条件);
2、流程
1、先执行循环体
2、判断循环条件
3、如果条件为真,则继续执行循环操作,否则退出循环
1、改版日期计算器
使用循环(while 或 do...while)
2、猜数字游戏(do...while)
1、随机生成一个1-100之间的数字
Math.random() 生成一个0-1之间的随机数
2、允许用户输入一个数字与随机数进行比较
1、比随机数大,提示猜大了,并重新输入
2、比随机数小,提示猜小了,并重新输入
3、与随机数相等提示猜对了,并退出
4、用户输入 exit 也退出游戏
5、循环的流程控制
1、break
用在循环体内,用于跳出整个循环结构
2、continue
用在循环体内,用于跳出本次循环,继续执行下次循环
while(true){
switch(n){
case 1:
console.log("...");
break;
}
}
while(true){
switch(n){
case 1:
continue;
}
}
swtich(n){
case 1:
continue;
}
6、for循环
1、while
var i=1;//循环条件的声明
while(i <= 100){//循环条件的判断
console.log(i);//循环操作
i++;//更新循环变量
}
2、for语法
for(表达式1;表达式2;表达式3){
循环操作
}
表达式1:循环条件的声明
表达式2:循环条件的判断
表达式3:更新循环变量
流程:
1、先执行表达式1,声明循环条件(执行1次)
2、再判断表达式2的值,true 或 false
3、如果为true,则执行循环操作
如果为false,则退出循环
4、执行完循环操作之后,再执行表达式3
5、再判断表达式2的值,同步骤2
3、for VS while
1、相同点
先判断循环条件,再执行循环操作的结构
2、不同点
while:优先用在不确定循环次数的场合下
for:优先用在确定循环次数的场合下
练习:
1、判断素数(质数)
从弹框中随意录入一个数字,判断其是否为素数
素数:只能被1和它自己整除的数字
ex:
输入 3
输出:3是素数
输入 6
输出:6不是素数
作业:
在弹框中分三次输入 年,月,日
判断该日是星期几
前提:1900年1月1日 是星期一
if(条件1){
}
if(条件2){
}
if(条件3){
}else{
}
1、顺序结构
2、分支结构(选择结构)
3、循环结构
1、分支结构
1、作用
根据条件,选择某一段代码去执行
2、if 结构
1、
if(条件){
满足条件要执行的代码块
}
注意:
1、if 后的 {}是可以省略的,如果省略的话,则只控制该结构下的第一条语句
2、条件尽量是boolean类型的,如果不是,以下条件当成假运算:
1、if(0){}
2、if(0.0){}
3、if(""){}
4、if(NaN){}
5、if(undefined){}
6、if(null){}
ex:
if("吕泽帅吗"){}
2、
if(条件){
语句块1
}else{
语句块2
}
3、
if(条件1){
语句块1
}else if(条件2){
语句块2
}else if(条件3){
语句块3
}else{
语句块n
}
练习:
日期计算器
分三次从弹框中录入年,月,日
计算该日是该年的第?天
1.3.5.7.8.10.12:31天
4.6.9.11:30天
2:平年28天,闰年:29天
2018.1.15 :15
2018.2.3 :34 (31+3)
2018.3.15 : 74(31+28+15)
3、switch 结构
场合:只有在等值判断时使用
语法:
switch(变量){
case 值1:
语句块1
break;//可以省略
case 值2:
语句块2
break;
... ...
default:
语句块n;
//只有所有的case块都未匹配上时,才执行default
}
注意:
1、变量和各个case块后面得知,是使用===的方式来判断的
2、如果case后不增加break的话,则从匹配的case开始,向下依次执行(不判断),直到结束或碰到break为止
练习:
从弹框中输入1-7中的任意一个数字,表示星期1 ~ 星期日
输入1:输出 今天吃红烧肉
输入2:输出 今天吃红烧鱼
输入3:输出 今天吃红烧排骨
输入4:输出 今天吃红烧甲鱼
输入5:输出 今天吃红烧皮皮虾
输入6:输出 今天休息
输入7:输出 今天休息
其他:输入有误!
2、循环结构
1、循环的作用
重复的执行相同或相似的代码
2、循环二要素
1、循环条件
2、循环操作(循环体)
ex:
1、想打印100遍的Hello World
条件:从第1遍开始,到第100遍结束
操作:打印Hello World
2、想打印1-100之间所有的数字
条件:从第1遍开始,到第100遍结束
操作:打印 条件 的值
3、while 循环
1、语法
while(条件){
循环体
}
ex:打印100遍的Hello World
//声明循环条件,从1开始
var i=1;
while(i <= 100){
console.log("Hello World");
//更新循环条件
i++;//++i,i=i+1,i+=1
}
练习:
1、打印1-100之间所有的数字
2、打印1-100之间所有数字的和
3、打印1-100之间所有的3的倍数的数字
问题:循环的从弹框中录入数据,并且将录入的数据打印在控制台上,直到输入 exit 为止
4、do ... while 循环
1、语法
do{
循环体
}while(条件);
2、流程
1、先执行循环体
2、判断循环条件
3、如果条件为真,则继续执行循环操作,否则退出循环
1、改版日期计算器
使用循环(while 或 do...while)
2、猜数字游戏(do...while)
1、随机生成一个1-100之间的数字
Math.random() 生成一个0-1之间的随机数
2、允许用户输入一个数字与随机数进行比较
1、比随机数大,提示猜大了,并重新输入
2、比随机数小,提示猜小了,并重新输入
3、与随机数相等提示猜对了,并退出
4、用户输入 exit 也退出游戏
5、循环的流程控制
1、break
用在循环体内,用于跳出整个循环结构
2、continue
用在循环体内,用于跳出本次循环,继续执行下次循环
while(true){
switch(n){
case 1:
console.log("...");
break;
}
}
while(true){
switch(n){
case 1:
continue;
}
}
swtich(n){
case 1:
continue;
}
6、for循环
1、while
var i=1;//循环条件的声明
while(i <= 100){//循环条件的判断
console.log(i);//循环操作
i++;//更新循环变量
}
2、for语法
for(表达式1;表达式2;表达式3){
循环操作
}
表达式1:循环条件的声明
表达式2:循环条件的判断
表达式3:更新循环变量
流程:
1、先执行表达式1,声明循环条件(执行1次)
2、再判断表达式2的值,true 或 false
3、如果为true,则执行循环操作
如果为false,则退出循环
4、执行完循环操作之后,再执行表达式3
5、再判断表达式2的值,同步骤2
3、for VS while
1、相同点
先判断循环条件,再执行循环操作的结构
2、不同点
while:优先用在不确定循环次数的场合下
for:优先用在确定循环次数的场合下
练习:
1、判断素数(质数)
从弹框中随意录入一个数字,判断其是否为素数
素数:只能被1和它自己整除的数字
ex:
输入 3
输出:3是素数
输入 6
输出:6不是素数
作业:
在弹框中分三次输入 年,月,日
判断该日是星期几
前提:1900年1月1日 是星期一
if(条件1){
}
if(条件2){
}
if(条件3){
}else{
}