4_1:流程控制:分支结构:[ if else ] + [ 三元表达式 ] + [ switch case ]

知识梳理

//1 if else 多用于范围判断 [ 大于等于某个区 区间判断]
//2 switch case 多用于某个固定值的判断 [ 星期几案例 ]
//3 三元表达式 = if else 双分支
//4 只要是表达式 就一定有返回值

一  if分支

1)单分支

if ( 条件表达式 ) {
    //要执行的代码语句
}
//条件表达式为真 执行花括号里面的代码
//条件表达式为假 跳过if 执行下面的代码

2)双分支

//语法结构  if 如果 else 否则 
if
('条件表达式') {   //代码语句1 } else {   //代码语句2 } //条件表达式为真 执行代码语句1 //条件表达式为假 执行代码语句2

小demo:判断闰年平年

//算法:能被4整除且不能整除100的为闰年(如2004年就是闰年,1901年不是闰年)或者能够被 400 整除的就是闰年
// 弹出prompt 输入框,让用户输入年份,把这个值取过来保存到变量中
// 使用 if 语句来判断是否是闰年,如果是闰年,就执行 if 大括号里面的输出语句,否则就执行 else里面的输出语句
// 一定要注意里面的且 &&  还有或者 || 的写法,同时注意判断整除的方法是取余为 0
var year = prompt('请您输入年份:');
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
    alert('您输入的年份是闰年');
} else {
    alert('您输入的年份是平年');
}

3)多分支

<script>
        // 1. 多分支语句   就是利用多个条件来选择不同的语句执行 得到不同的结果  多选1 的过程
        // 2. if else if语句是多分支语句
        // 3. 语法规范
        if (条件表达式1) {
            // 语句1;
        } else if (条件表达式2) {
            // 语句2;
        } else if (条件表达式3) {
            // 语句3;
        } else {
            // 最后的语句;
        }
        // 4. 执行思路
        // 如果条件表达式1 满足就执行 语句1 执行完毕后,退出整个if 分支语句  
        // 如果条件表达式1 不满足,则判断条件表达式2  满足的话,执行语句2 以此类推
        // 如果上面的所有条件表达式都不成立,则执行else 里面的语句
        // 5. 注意点
        // (1) 多分支语句还是多选1 最后只能有一个语句执行
        // (2) else if 里面的条件理论上是可以任意多个的
        // (3) else if 中间有个空格了
    </script>

查分数demo:分数值从小到大逻辑

<script>
    //90 a 恭喜学霸
    //80 b 优秀的孩子
    //70 c 中等生 加油
    //60 d 好危险 刚刚及格
    //60以下 e 不及格
    var value = prompt('请输入分数');//获取学生输入的分数值
    //分数从小到大逻辑写
    if (value < 60) {
        alert('e 不及格');
    } else if (value >=60 && value < 70) {
        alert('d 好危险 刚刚及格');
    } else if (value >= 70 && value < 80) {
        alert('c 中等生 加油');
    } else if (value >= 80 && value < 90) {
        alert('b 优秀的孩纸');
    } else if (value >=90 && value <= 100) {
        alert('a 恭喜学霸');
    } else {
        alert('成绩值不合法');
    }
</script>

查分数demo:分数值从大到小逻辑

<script>
    //分数从大到小判断比较合理
    var value = prompt('请输入您的考试成绩');
    if (value > 100) {
        alert('输入的分数值不合法')
    } else if (value >= 90) {
        alert('学霸');
    } else if (value >= 80) { //这里不用写 (>=80 && <=90) 因为大于90的都已经执行了上面的判断条件了
        alert('优秀');
    } else if (value >= 70) {
        alert('需要加油了')
    } else if (value >= 60) {
        alert('刚刚及格')
    } else {
        alert('您竟然不及格');
    }
</script>

二  三元表达式

1)概念

三元运算符组成的式子 我们称为三元表达式

运算符

//1 一元运算符三个: ++  --  ! [ 加加  减减  取反 ]
//2 三元运算符一个:【? :】
//3 二元运算符:除了一元和三元都是二元。

2)基本语法

条件表达式 ? 表达式1 : 表达式2
//1 条件表达式的值为真 返回表达式1的值
//2 条件表达式的值为假 返回表达式2的值

 3)代码示例

var res = 5 > 4 ? '正确' : '错了';//表达式都有返回值 把返回值赋给一个变量
console.log(res);//正确

小demo:自动补0

//客户输入小于10的数字 前面自动补0 大于10原样输出
var value = prompt('请输入数字');//获取客户输入的值
var res = value < 10 ? 0 + value : value;//三元表达式
alert(res);

三  switch分支

var name = '山西';
switch (name) {
    case '天津':
        alert('我是天津人');
        break;
    case '山西':
        alert('我是山西人');//输出 我是山西人
        break;
    case '北京':
        alert('我是北京人');
        break;
    default :
        alert('您肯定是中国人');
}
//把 表达式的值 和 case里面的 选项值 进行匹配
//如果匹配到就执行case里面的代码
//匹配不到就执行default的代码

使用重点 

1 switch的 条件变量值 和每个case后面的值 进行 全等匹配
2 每个case后面应该书写break

四  if 和 switch 的区别

switch 用于 固定值判断
if else 用于范围判断 [ 大于等于某个范围 ] 更灵活一些
当分支比较少的时候用 if else 效率比较高
分支多的时候用switch 结构清晰 效率比较高

 

posted @ 2021-02-09 14:58  棉花糖88  阅读(119)  评论(0编辑  收藏  举报