流程控制分类:
1顺序结构
代码自上而下依次执行,所有的代码都将被执行。
2.分支结构
根据不同的条件,执行不同路径的代码(代码多选一),得到不同的结果
if分支:
语法结构:
//单分支
if(条件表达式){
//条件满足时执行的代码
}
//根据年龄判断是否成年
//双分支
if(条件表达式){
//条件满足时执行的代码
}else{
//条件不满足时执行的代码
}
//判断年份是否是闰年 能被4整除且不能被100整除 或者能被400整除
//多分支
if(条件表达式1){
//条件满足时执行的代码
}else if(条件表达式2){
//条件满足时执行的代码
}else if(条件表达式3){
//条件满足时执行的代码
}......
else{
//以上条件都不满足时执行的代码
}
//根据分数 给出成绩等级
switch分支
语法结构:
switch(表达式){
case value1:
//满足条件执行代码
break;
case value2:
//满足条件执行代码
break;
case value3:
//满足条件执行代码
break;
....
default:
//以上条件都不满足执行代码
}
//楼层查询案例
switch 注意事项:
1.表达式一般是一个变量 方便进行值的替换
2.表达式和case里面的值在匹配的时候 ,是做的全等运算 ===
3.如果当前的case没有break,则不会退出,会继续执行下一个case。
小练习:
1.用户输入一个年份,判定该年份有多少天
解析:
//用户输入一个年份,判定该年份有多少天 //闰年366 平年365
//(闰年的条件是能被4整除,但不能被100整除;或能被400整除。)
var year = prompt('请输入年份')*1;
if(year%4==0 && year%100!=0 || year%400==0){
console.log('闰年366天');
}else{
console.log('平年365天');
}
2.根据性别和体重计算输血量。女性体重不超过50kg的输血量为200毫升,否则250毫升;男性不超过60kg的输血量为250毫升,否则300毫升
解析:
//根据性别和体重计算输血量。女性体重不超过50kg的输血量为200毫升,否则250毫升;
//男性不超过60kg的输血量为250毫升,否则300毫升
var sex = prompt('请输入如性别 如男 女');
var weight = prompt('请输入体重');
if(sex=='女'){
if(weight<50){
console.log('输血200');
}else{
console.log('输血250');
}
}else if(sex=='男'){
if(weight<60){
console.log('输血250');
}else{
console.log('输血300');
}
}else{
console.log('请输入正确性别');
}
3.当气温高于26℃时,需要开启制冷空调;气温低于10℃则开启制热空调;其余情况只需要开启送风模式即可。编制自动温控程序,控制操作用输出相应的提示字符串来模拟,比如“开启制冷“
解析:
//当气温高于26℃时,需要开启制冷空调;气温低于10℃则开启制热空调;其余情况只需要开启送风模式即可。
//编制自动温控程序,控制操作用输出相应的提示字符串来模拟,比如“开启制冷“
var num = prompt('请输入温度')*1;
if(num>26){
document.write("开启制冷");
}else if(num<10){
document.write("开启制热");
}else{
document.write("开启送风");
}
4.假设从A地到B地的火车票有硬座和硬卧,价格分别为100和190元。根据铁路部门规定,未成年人(18周岁以下)身高不足120cm免票,120(含)-150(不含)cm需半票,150及以上的需全票,未成年人卧铺只能减免硬座的半价。请设计一个购票程序,要求输入年龄和身高(未成人需要输入)以及票的类型,输出票的价
解析:
//假设从A地到B地的火车票有硬座和硬卧,价格分别为100和190元。根据铁路部门规定,未成年人(18周岁以下)身高不足120c免票,120(含)-150(不含)cm需半票,150及以上的需全票,未成年人卧铺只能减免硬座的半价。请设计一个购票程序,要求输入年龄和身高(未成人需要输入)以及票的类型,输出票的价
var age = prompt('请输入年龄')*1;
var tick = prompt('请输入票型');
if(age>=18){
if(tick=='硬座'){
document.write("100");
}else{
document.write("190");
}
}else{
var height = prompt('请输入身高')*1;
if(height<120){
document.write("免费");
}else if(height<150){
if(tick=='硬座'){
document.write("50")
}else{
document.write("140");//这里是未成年人身高120-150买的硬卧票 190-50(硬座的半价)
}
}else{
if(tick=='硬座'){
document.write("100")
}else{
document.write("190");
}
}
}
5.成绩等级的判定
解析:
//成绩等级的判定
var score = prompt("请输入你的成绩");
chengji = parseInt(score/10);
switch(chengji){
case 10:
case 9:
alert("优");
break;
case 8:
case 7:
case 6:
alert("良");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
alert("一般");
break;
default ;
alert("请输入正确的 0 ~ 100之间的成绩");
}