// if(){}else if(){}...else{}
        // 多种条件,多种情况下的判断语句
        // 必须要注意
        // 1,else if 之后有() 可以写判断条件
        // 2,else 之后,是不能有(),不能写条件
        // 3,else if 之间必须有空格
        // 4,else 其中执行的程序,往往是容错处理
        // 执行过程和执行原理
        // 从第一个条件(if小括号中的条件)开始判断
        // 如果是true,就执行{}中对应的程序内容
        // 如果是false,就是执行下一个else if,()中的条件
        //      如果是true,就是执行{}中对应的程序内容
        //      如果是false,就是执行下一个else if,()中的条件
        //          如果是true,就是执行{}中对应的程序内容
        //          如果是false,就是执行下一个else if,()中的条件
        // 如果所有()中的条件都不满足,就执行else中的程序内容
        // true有执行,false没有执行     if(){}语句
        // true有执行,false有其他执行   if(){}else{}
        // 多种情况,多种执行            if(){}else if(){}....else{}
        // 根据成绩分数,输出不同的考试结果成绩
        // 100分    最强王者
        // 90-99    星耀
        // 80-89    钻石
        // 70-79    铂金
        // 60-69    黄金
        // 60分一下  黑铁
        // 1-100的随机数
        var num = parseInt(Math.random() * (100 + 1 - 1) + 1);
        // 当前情况,是可以不写 <= 条件的
        // 根本原因就是 我们的数值范围 只是 1 - 100 
        // 数值范围是 1 - 100 最大值是 100
        // 如果是 100 会满足第一个条件,执行 第一个{}中的程序,之后的程序不会执行
        if (num == 100) {   
            console.log(`您的成绩是${num}分,喜提 最强王者 称号`);
        
        // 如果不是 100 也就是第一个条件是false,会执行第二个()中的条件判断
        // 此时我们的数值范围一定是 1-99 的范围 
        // 本身随机数的最大值就是 1-100 如果是 100 满足第一个条件
        // 执行第二个判断,一定不满足第一个,一定不是100,因此范围一定是 1 - 99
        } else if (num >= 90) {
            console.log(`您的成绩是${num}分,喜提 星耀 称号`);
        
        // 如果执行第三个判断 , 一定是前两个条件都不满足
        // 不是 100 也不是 >= 90 的数值 , 也就是 1-89的数值
        // 可以执行第三个条件判断,意味着本身的范围就是 1-89 不会超过89
        } else if (num >= 80) {
            console.log(`您的成绩是${num}分,喜提 钻石 称号`);
        } else if (num >= 70 ) {
            console.log(`您的成绩是${num}分,喜提 铂金 称号`);
        } else if (num >= 60 ) {
            console.log(`您的成绩是${num}分,喜提 黄金 称号`);
        } else {
            console.log(`您的成绩是${num}分,您还玩什么劲儿啊`);
        }
        // 实际项目中 , else 往往做容错处理
        // 例如 实际成绩应该是 0-100分
        // 现在有输入错误的情况 例如 超过 100 分 或者小于0分
        // 随机数的范围是 -20 至 120
        var num2 = parseInt(Math.random() * (120 + 1 - (-20)) + (-20));
        console.log(num2);
        // 数值范围是 -20 - 120 有可能超过正常值范围
    
        // 条件1,判断是等于 100
        if (num2 == 100) {
            console.log(`您的成绩是${num2}分,喜提 最强王者 称号`);
        // 执行到判断条件2,说明,数值不是100
        // 范围是 -20 - 120 但是不包括 100  
        // 如果不写 <= 条件 例如超过100的数值,也会满足这个条件
        // 就会造成程序执行错误
        } else if (num2 >= 90 && num2 <= 99) {
            console.log(`您的成绩是${num2}分,喜提 星耀 称号`);
        } else if (num2 >= 80 && num2 <= 89) {
            console.log(`您的成绩是${num2}分,喜提 钻石 称号`);
        } else if (num2 >= 70 && num2 <= 79) {
            console.log(`您的成绩是${num2}分,喜提 铂金 称号`);
        } else if (num2 >= 60 && num2 <= 69) {
            console.log(`您的成绩是${num2}分,喜提 黄金 称号`);
        } else if ( num2 >= 0 && num2 < 60 ) {
            console.log(`您的成绩是${num2}分,您还玩什么劲儿啊`);
        } else {
            console.log(`您的成绩是${num2}分,您是不是输入数据错误,玩我呢`);
        }  
        
        
        
        // 如果有 正确的 数值范围
        // 有时 <= 的判断条件 或者 >= 的判断条件,有时是可以省略的
        // 因为 1,数值范围正确   2,有之前的判断条件,约束
        // 如果数值范围有 错误数据内容
        // 只限制 >=  或者 <=  有可能造成判断错误
        // 不能正确的判断错误数据内容
        // 写上 >= && <= 一定不会错
        // 如果 只写 >= 或者 只

随机推荐

  1. Python爬取网页遇到:selenium.common.exceptions.WebDriverException解决方法

    在PyCharm中写好下列程序: 一运行遇到下列报错: selenium.common.exceptions.WebDriverException: Message: 'chromedriver' e ...

  2. Serverless 架构落地实践及案例解析

    简介: 技术演进的本质是更好服务业务,传统开发方式使企业花费更多的精力打磨底层技术细节,而 Serverless 架构就是让开发者专注业务实现从而创造更大的业务价值. 作者 | 丹坤   整理 | 徐 ...

  3. DTCC 2020 | 阿里云梁高中:DAS之基于Workload的全局自动优化实践

    简介: 第十一届中国数据库技术大会(DTCC2020),在北京隆重召开.在12.23日性能优化与SQL审计专场上,邀请了阿里巴巴数据库技术团队高级技术专家梁高中为大家介绍DAS之基于Workload的 ...

  4. 阿里云服务网格 ASM 正式发布商业化版本

    ​简介:为了更好地满足企业日益加深的大规模使用服务网格产品.服务多语言互通.服务精细治理等需求,2022 年 4 月 1 日起,阿里云服务网格产品 ASM 正式发布商业化版本,为企业在生产环境下大规模 ...

  5. 如何合理使用 CPU 管理策略,提升容器性能?

    ​简介:CPU Burst.拓扑感知调度是阿里云容器服务 ACK 提升应用性能的两大利器,它们解决了不同场景下的 CPU 资源管理,可以共同使用.点击下文,查看详情! 作者:张佐玮(佑祎) 前言 在云 ...

  6. SchedulerX 如何帮助用户解决分布式任务调度难题?

    ​简介:本文分别对任务调度平台的资源定义.可视化管控能力.分布式批处理能力进行了简述,并基于 SchedulerX 的能力结合实际业务场景提供了一些基础参考案例.希望通过上述内容能让大家方便地熟悉任务 ...

  7. Flink集成Iceberg在同程艺龙的实践

    ------------恢复内容开始------------ null ------------恢复内容结束------------

  8. 伴鱼:借助 Flink 完成机器学习特征系统的升级

    ​简介: Flink 用于机器学习特征工程,解决了特征上线难的问题:以及 SQL + Python UDF 如何用于生产实践. 本文作者陈易生,介绍了伴鱼平台机器学习特征系统的升级,在架构上,从 Sp ...

  9. 深入浅出玩转fPGA-读书笔记

    笔记1 关于异步复位同步释放的理解 先看代码: 其中有两个always语句,把2个触发器叠加,当按下复位信号rst_n是,两个触发器都复位(清零).当rst_n释放时,重点就来了,rst_n释放的时刻 ...

  10. 004—Orcad创建简单分裂元件

    004-Orcad创建简单分裂元件 以TPS545为例,先查看datasheet,管脚图,PCB封装.新建库,设置名称和part的数量,然后添加管脚,设定管脚属性.电源管脚要勾选Pin Visble. ...