一、代码的执行顺序
在说条件控制语句之前,先了解代码的执行顺序:
代码的执行:
1.顺序结构:从上往下依次执行
2.分支结构:根据条件的结果控制语句的执行 if switch
3.循环结构:循环执行代码,知道循环结束(跳出循环) while for
二、if语句
注意:每个分支条件必须是相互不包含的(互斥)
语法:(布尔表达式是指表达式结果的布尔值是true还是false)
if(布尔表达式){//布尔表达式为真 则执行代码块1
代码块1
}
else if(布尔表达式){//else if 没有个数限制,并且布尔表达式为真时,执行代码块2
代码块2
}
else{
代码块3
}
举例:输入一个数字,数字小于十的时候返回:"输入的数字不大于十",在10-20之间返回:"输入数字在10-20之间",大于二十的时候返回:"输入的数字大于二十"
var num1 = prompt("请输入一个数字")
if (num1 < 10) {
console.log("输入的数字不大于十");
}
else if (num1 <= 20) {
console.log("输入数字在10-20之间");
}
else {
console.log("输入的数字大于二十");
}
三、switch语句
注意:会根据表达式的值去匹配case的值,匹配成功才会执行,全部匹配失败则执行default,case相当于是提供了入口,break相当于是提供了一个出口,当没有break的时候,进入case之后就会从上往下执行,直到遇见break结束
语法:(布尔表达式是指表达式结果的布尔值是true还是false)
switch(布尔表达式){
case 值或表达式:
代码块;
break;
case 值或表达式:
代码块;
break;
case 值或表达式:
代码块;
break;
default:
代码块;
break;
}
举例:输入一个月份,输入为1、2、3的时候返回:春天,输入为4、5、6的时候返回:夏天、
输入为 7、8、9的时候返回:秋天,输入为10、11、12的时候返回:冬天。
var month = prompt("请输入月份")/1;
// case相当于是一个入口,break是提供一个出口
//程序会从上往下执行
switch (true) {
//当case中的值和switch中的值完全相等,才能匹配成功,比如:此时switch中填的是month就不会执行
case month==1||month==2||month==3://返回的是布尔值
alert("春天");
break;
case month==4||month==5||month==6:
alert("夏天");
break;
//当没有break的时候,进入case之后就会从上往下执行,直到遇见break结束
case month==7||month==8||month==9:
alert("秋天");
break;
case month==10||month==11||month==12:
alert("冬天");
break;
default:
alert("qqq")
}
练习1:输入1-10整数,判断合法与否
var num = prompt("请输入整数,判断合法与否");
if (num % 1 === 0 && num >= 1 && num <= 10) {
console.log("输入合法");
}
else {
console.log("输入不合法");
}
练习2:输入整数,判断奇数还是偶数
var num2 = prompt("请输入整数,判断奇数还是偶数") / 1;
if (num2 % 2 == 0) {
console.log("偶数");
}
else {
console.log("奇数");
}
练习3:输入两个数数字比较大小
var a1 = prompt("请输入一个数字(比较大小)") / 1;
var a2 = prompt("请输入一个数字(比较大小)") / 1;
if (a1 > a2) {
console.log(a1 + "大于" + a2);
}
else if (a1 < a2) {
console.log(a1 + "小于" + a2);
}
else {
console.log(a1 + "=" + a2);
}
练习4:输入年份判断是不是闰年
var year = prompt("请输入年份") / 1;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
console.log("今年是闰年");
}
else {
console.log("今年是平年");
}
练习5: 输入月份,弹出输入月份的天数
var month = prompt("输入月份") / 1;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
alert("这个月31天")
break;
case 2:
alert("这个月28天")
break;
default:
alert("这个月30天")
break;
}