选择结构的标准switch语句和穿透的switch语句45/999

2022/6/28 23:32:22

本文主要是介绍选择结构的标准switch语句和穿透的switch语句45/999,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

switch语句格式:

switch(表达式) {
case 常量值1:
语句体1;
break;
case 常量值2:
语句体2;
break;
...
default:
语句体n+1;
break;
}

执行流程

  •   首先计算出表达式的值
  • 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
  • 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。

 

 

复制代码
public static void main(String[] args) {
//定义变量,判断是星期几
int weekday = 6;
//switch语句实现选择
switch(weekday) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("你输入的数字有误");
break;
}
}
复制代码

switch语句中,表达式的数据类型,可以是byte,short,int,char,enum(枚举),JDK7后可以接收字符串

switch的穿透   // switch 的 穿透         // 什么是switch的穿透         // 如果在 switch 中没有定义break , switch 会从定位的程序,一直执行到所有switch程序的结束         // 这种现象称为switch的穿透         // 效果是,从定位的程序位置,穿透所有的case和default,执行之后所有的程序         // 一般情况下,我们杜绝switch的穿透这样的现象的出现         // 但是在特殊情况下,我们还是可以灵活使用switch的穿透,优化代码                     // switch穿透的小应用
        // 随机生成 1-12 的月份,通过程序,输出这个月有多少天         // 暂时不考虑闰年的情况
        // 1,3,5,7,8,10,12月是31天         // 4,6,9,11月是30天         // 2月是28天
        var month = parseInt(Math.random() * (15 + 1 - 1) + 1);
        // 使用if判断来写         if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) {             console.log(`现在是${month}月,本月有31天`);         } else if (month == 4 || month == 6 || month == 9 || month == 11) {             console.log(`现在是${month}月,本月有30天`);         } else if (month == 2) {             console.log(`现在是${month}月,平年有28天,闰年有29天`);         } else {             console.log(`现在是${month}月,地球上就12个月,您是外星人吧`);         }

        // 当前是判断是否是某个具体的月份数值,这样的比较判断,更使用使用switch来定义         // 利用穿透来优化switch语句         // 1,3,5,7,8,10,12 时,执行的程序都是完全相同的         // 可以利用 switch 的穿透,来优化程序         // 思路: 当数值是这些数值内容的时,没有break,直接执行穿透效果,最终都执行相同的程序         // 方法: 之前不定义要执行的程序,只在最后一种情况中,定义执行程序和break
        switch (month) {             case 1:             case 3:             case 5:             case 7:             case 8:             case 10:             case 12:                 console.log(`现在是${month}月,本月有31天`);                 break;
            case 4:             case 6:             case 9:             case 11:                 console.log(`现在是${month}月,本月有30天`);                 break;
            case 2:                 console.log(`现在是${month}月,平年有28天,闰年有29天`);                 break;                              default:                 console.log(`现在是${month}月,地球上就12个月,您是外星人吧`);                 break;         }

这篇关于选择结构的标准switch语句和穿透的switch语句45/999的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程