选择结构
一、程序结构设计
顺序:根据代码的书写顺序,自上而下 一行一行的指行
选择:根据条件的真假,选择执行某种相应的结果。
循环:重复执行某种结构
二、选择语法:
1、if的条件的表现形式:
a. if
if(条件表达式){
执行语句;
}
b. if-else
.if(条件表达式){
执行语句;
}else{
语句;
}
注:
调试:通过断点调试观察代码执行顺序
c.if-else if-else
if(条件表达式1){
语句1;
}else if(条件表达式2){
语句2;
}lse if(条件表达式3){
语句3;
}
注:
1、if的条件表达式,表达了一个布尔值,如果不加花括号,if条件表达式只能修饰一条语句。
2、加花括号之后,花括号里面是一个复合语句
3、符合语句后面不加分号
4、else不能单独出现
5、if 语句和else语句 之间的关系是互斥的
6、if语句从上往下执行,匹配到可执行到条件表达式时执行紧跟在后面的语句,执行完后跳出if循环
eg:
if(x=0){
document.write("取钱")
}else if(x=2){
document.write("存钱")
}
var a = 99;
<script>
if(a>=90){
document.write("A");
}
else if(a>=80){
document.write("B")
}
else if(a>=60){
document.write("D")
}
else{
document.write("E")
}
</script>
eg:闰年问题:
四年一润 百年不闰 四百年在闰
var year = 1900;
if(year%4==0 && year%100!=0 || year%400==0){
document.write("leap year");
}
else{
document.write(not leap year);
}
2、switch/case
语法:
switch(条件匹配变量){
case 表达式1:分支语句一;break;
case 表达式2:分支语句二;break;
case 表达式3:分支语句三;break;
…
case 表达式n:分支语句n;break;
default:默认分支语句;break;
}
注意:
1、匹配值 匹配所有case表达式 匹配到后执行后面的语句 匹配不到执行default
case后面是个常量、数值
switch-case 结束的规则:
没有break,执行到该switch语句结束
遇到break 该switch语句结束
default当最后不用加break
规范:
1.所有的括号成对输入
2.所有的双引号成对输入
3.一句话占一行(不用多句话写在一行)
4.花括号单独占一行
5.缩进对齐:
a)同级对齐
b)子一级比上一级缩进4个空格
注意点:
1.if后面的()不能省略,()后面不要加分号
2.if分支中即使一句话也要把{}写上
3.if嵌套不要超过三层
4.Switch语句里把default分支一定要写上,防止在以后的维护中产生歧义
把执行概率更大(正常情况)放在前面(if,case)
5.if else 和 switch用谁?
不等值用if 范围
等值判断用switch
eg:
var month = 4;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
document.write("31");
break;
case 4:
case 6:
case 9:
case 11:
document.write("30")
break;
case 2:
document.write("28")
break;
}
eg:输入数字显示星期几
var week = 4;
switch(week){
case 1:
document.write("星期一");
break;
case 2:
document.write("星期二");
break;
case 3:
document.write("星期三");
break;
case 4:
document.write("星期四");
break;
case 5:
document.write("星期五");
break;
case 6:
document.write("星期六");
break;
case 7:
document.write("星期日");
break;
}
三目运算符
表达式1?表达式2:表达式3;
s=a>b?c:d;
第一目:a>b 结果为真 将c的值赋给s 结果为假 将d的值赋给s
第二目:c
第三目:b
三元表达式,又叫三目运算符
根据表达式1执行的结果,来决定执行表达式2还是表达式3
表达式1结果是true执行表达式2,最终返回表达式2的结果
表达式1结果是false执行表达式3,最终返回表达式3的结果