JS基础语法---分支语句之:switch-case语句---3个练习

     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("输入错误");
      }
 

 



 

posted @ 2019-11-21 11:47  jane_panyiyun  阅读(839)  评论(0编辑  收藏  举报