欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-31 19:54:04
switch-case语句 分支语句 多分支语句 语法: switch(表达式){ case 值1:代码1;break; case 值2:代码2;break; case 值3:代码3;break; case 值4:代码4;break; ...多个case default:代码5; } *注意问题: ......

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