switch-case语句---分支语句---多分支语句

语法:

      switch(表达式){
case 值1:代码1;break;
case 值2:代码2;break;
case 值3:代码3;break;
case 值4:代码4;break;
...多个case
default:代码5;
}
     

*注意问题:

     * default后面的break是可以省略的
     * default也可以省略
     
     * switch-case 语句中和case后面的值比较的时候使用的是严格的模式
     * break是可以省略
 

执行过程:

     * 获取表达式的值,和值1比较,如果一样,则执行代码1,遇到break则跳出整个的语句,后面代码不执行
     * 如果表达式的值和值1不一样,则和值2比较,如果相同则执行代码2,遇到break则跳出
     * 否则和值3比较,相同则执行代码3,遇到break,跳出;否则和值4比较,相同则执行代码4,遇到break则跳出;否则直接执行代码5

练习1: 获取一个人的成绩的级别, 如果是A级则显示90到100直接的分数

* 如果是B级则显示80到90分
* 如果是C级则显示70到80之间分数
* 如果是D级则显示60到70分之间
* 否则显示0到59之间
 
 var jiBie = "E";
switch (jiBie) {
case "A":
console.log("90到100之间");
break;
case "B":
console.log("80到90之间");
break;
case "C":
console.log("70到80之间");
break;
case "D":
console.log("60到70之间");
break;
default :
console.log("0到59之间");
}
 

注意问题:

* switch-case 语句中和case后面的值比较的时候使用的是严格的模式: ===3个等于号,类型相同+值相同,更严格

   var num = "10";//字符串
  console.log("10"===10);//true还是false
switch (num) {
case 10:
console.log("数字的10");
break;
case "10":
console.log("字符串的10");
break;
}

练习2: 根据月份显示对应的天数

      根据月份显示对应的天数,分析:
      1,3,5,7,8,10,12 ---31天
      2----28天
      4,6,9,11----30
 

代码如下:(代码不规范,应格式化下,此处是方便理解)

         var month=parseInt(prompt("请输入月份"));
switch (month){
case 1:console.log("31天");break;
case 2:console.log("28天");break;
case 3:console.log("31天");break;
case 4:console.log("30天");break;
case 5:console.log("31天");break;
case 6:console.log("30天");break;
case 7:console.log("31天");break;
case 8:console.log("31天");break;
case 9:console.log("30天");break;
case 10:console.log("31天");break;
case 11:console.log("30天");break;
case 12:console.log("31天");break; }

代码优化:

相同的归类+break是可以省略

     var month = parseInt(prompt("请输入月份"));
      switch (month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
          console.log("31天");
          break;
        case 4:
        case 6:
        case 9:
        case 11:
          console.log("30天");
          break;
        case 2:
          console.log("28天");
          break;
      }

练习3:根据数字显示对应的星期


      var num = parseInt(prompt("请输入一个星期的数字"));
      switch (num) {
        case 1:
          console.log("星期一");
          break;
        case 2:
          console.log("星期二");
          break;
        case 3:
          console.log("星期三");
          break;
        case 4:
          console.log("星期四");
          break;
        case 5:
          console.log("星期五");
          break;
        case 6:
          console.log("星期六");
          break;
        case 7:
          console.log("星期日");
          break;
        default:
          console.log("输入错误");
      }
 

JS基础语法---分支语句之:switch-case语句---3个练习的更多相关文章

  1. if语句,if...else if语句和switch...case语句的区别和分析

    前段时间在工作中遇到了一个关于条件判断语句的问题,在if语句,if else if语句和switch case语句这三者之间分析,使用其中最有效率的一种方法. 所以就将这个问题作为自己第一篇博客的主要 ...

  2. Java基础之循环语句、条件语句、switch case 语句

    Java 循环结构 - for, while 及 do...while 顺序结构的程序语句只能被执行一次.如果您想要同样的操作执行多次,,就需要使用循环结构. Java中有三种主要的循环结构: whi ...

  3. Python | 基础系列 · Python为什么没有switch/case语句?

    与我之前使用的所有语言都不同,Python没有switch/case语句.为了达到这种分支语句的效果,一般方法是使用字典映射: def numbers_to_strings(argument): sw ...

  4. js 学习之路7:switch/case语句的使用

    语法格式: switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代 ...

  5. JS基础语法---分支语句之:三元表达式

    获取两个数字中的最大值 用if-else语句        var num1 = 10;        var num2 = 100;        if (num1 > num2) {     ...

  6. JS基础语法---分支语句之:if语句,if-else语句,if-ever if语句

    //if语句只有一个分支 //if-else语句有两个分支,最终执行一个分支 //if-else if-else if-else if-else if..........else---多分支,最终也是 ...

  7. JS基础语法---分支语句总结

    分支语句: if语句:一个分支 if-else语句:两个分支,最终只执行一个分支 if-else if-else if...语句: 多个分支,也是只会执行一个 switch-case语句:多分支语句, ...

  8. JavaScript基础知识(if、if else、else if、while、switch...case语句)

    13.语句 概念:就是分号(:) 代表一条语句的结束 习惯:一行只编写一条语句:一行编写多条语句(代码可读性较差) 语句块:可以包含多条语句     "{ }"将多条语句包裹 u ...

  9. JavaSE基础(七)--Java流程控制语句之switch case 语句

    Java switch case 语句 switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. 语法 switch case 语句语法格式如下: switch(exp ...

随机推荐

  1. C#中类的修饰符

    Q&A  项目=程序集=assembly 1,Q:类的修饰符有哪些? A:   有 new.public.protect.internal.private.abstract.sealed.st ...

  2. 解决npm下载慢的问题

    方法一:使用淘宝定制的cnpm命令行工具替代默认安装npm npm install -g cnpm --registry=https://registry.npm.taobao.org 方法二:将np ...

  3. jquery.wordexport.js打印echarts.js画出的柱状图

    jquery.wordexport.js打印echarts.js画出的柱状图. echarts画出的图是不能直接打印出来的(echarts的柱状图是用canvas画出来的),而jquery.worde ...

  4. Python中机器学习-验证码识别-粗略总结

    #验证码识别# 解决办法:将验证码切割成单个字符训练 遇到问题:验证码字符大小不一或重叠 对上述问题的解决:通过CNN(卷积神经网络)直接就是端到端不分割的识别方式 处理验证码:将图片二值化 输入验证 ...

  5. 程序运行时间测试 - 使用libc 中 time 函数 实现秒级的运行时间检测

    c 标准库中,有time 函数,可以返回 1970年1月1日 开始到现在的秒数,我们可以调用两次的时间差来计算程序运行时间: https://github.com/yaowenxu/Workplace ...

  6. Shell—实现DDOS攻击自动封禁IP

    需求:请根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP. 防火墙命令为:iptables-I INPUT -s IP地址 -j DR ...

  7. 004.MongoDB数据库基础使用

    一 数据库管理 1.1 创建数据库 [root@uhost ~]# mongo --host 172.24.9.225 --port 27017 -u useradmin -p useradmin & ...

  8. 【机器学习之数学】03 有约束的非线性优化问题——拉格朗日乘子法、KKT条件、投影法

    目录 1 将有约束问题转化为无约束问题 1.1 拉格朗日法 1.1.1 KKT条件 1.1.2 拉格朗日法更新方程 1.1.3 凸优化问题下的拉格朗日法 1.2 罚函数法 2 对梯度算法进行修改,使其 ...

  9. hibernate关联关系一对多

    1. 什么是关联(association) 1.1 关联指的是类之间的引用关系.如果类A与类B关联,那么被引用的类B将被定义为类A的属性 首先建2个实体类 Order.java package com ...

  10. MySQL的基础架构

    TCP/IP看不下去了,我觉得还是从应用层入手,接下来2个月我将主要学习数据库相关和算法知识,网络我一直不熟,所以看起专业书籍很吃力,可以说是浪费时间,这次数据库学习目标是先将方向纠正一下,然后其中的 ...