Java switch case用法详解

Java switch case用法详解-mikechen

Java Switch语句是多路分支语句,它提供了一种简单的方法,可以根据表达式的值将执行分派到代码的不同部分。

Switch语法格式

switch(表达式){

     case 常量值 1:

        语句块1

        [break;]

        ......

     case 常量值 n:

        语句块n

        [break;]  

     deafault:

        语句块 n+1;

        [break;]

        }

switch case 语句有如下规则:

①根据switch表达式中的值,依次匹配各个case中的常量。一旦匹配成功,则进入相应的case结构中,调用其执行语句。

②调用其执行语句后,仍然继续向下执行其他case结构中的执行语句,直到遇到break关键字或switch-case结构末尾结束。

③break,可以使用在switch-case结构中,表示一旦执行此关键字,就跳出switch-case结构。

④switch结构中的表达式,只能是如下6种数据类型之一:byte 、short、char、int、枚举类型(jdk5.0新增)、String类型(jdk7.0新增)。

⑤case后只能声明常量,不可以是范围。

⑥default:相当于if-else中的else,default结构是可选的,且位置是灵活的。

 

Switch 流程图

Java switch case用法详解-mikechen

 

Switch源码案例

输入星期数,显示今天的运动项目,周一跑步、周二游泳、 周三慢走、 周四单车、 周五爬山、周六拳击、周日休息。

// switch 进行匹配
          switch (str){
              case "周一":
                  System.out.println("跑步");
                  bool = false;
                  break;
              case "周二":
                  System.out.println("游泳");
                  bool = false;
                  break;
              case "周三":
                  System.out.println("慢走");
                  bool = false;
                  break;
              case "周四":
                  System.out.println("骑自行车");
                  bool = false;
                  break;
              case "周五":
                  System.out.println("爬山");
                  bool = false;
                  break;
              case "周六":
                  System.out.println("拳击");
                  bool = false;
                  break;
              case "周日":
                  System.out.println("休息");
                  bool = false;
                  break;
              default :
                  System.out.println("请按格式输入星期数,如:周一");
                  break;
          }

 

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法