前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >浅谈Java中switch分支语句

浅谈Java中switch分支语句

作者头像
硕人其颀
发布2020-06-02 11:42:28
8890
发布2020-06-02 11:42:28
举报
文章被收录于专栏:Java典籍Java典籍

在程序中遇到多分支选择的时候,想必大家都喜欢用if...else if...else...语句,尤其是初学者,因为在了解switch语句之前,我也是只会用if...else语句。那么现在看完这篇随笔的介绍后,你们又有了另外一种选择,使用switch语句可以增强代码的可能性,当然switch也不是随随便便就能用的,它也有语法规则的约束,请看下面的介绍。

1、switch简介和语法

switch语句用于多分支选择,由一个控制表达式和多个case标签组成。switch语句后面的控制表达式的数据类型只能是byte、short、char、int、String和枚举类型,不能是其它类型。

switch语句往往需要在case标签后紧跟一个代码块,case标签作为这个代码块的标识。

switch语句的语法如下:

代码语言:javascript
复制
switch(expr){    

    case condition1{        
        //代码块...
         break;
     }    
    case condition2{        
        //代码块...
         break;
      }
    ...   
     case conditionN{        
        //代码块...
         break;
     }
       dafault:{       
        //代码块...    
      }
}

这种分支语句的执行是先对expr求值,然后依次匹配每个case标签后的condition值,遇到匹配的值即执行对应的代码块,如果condition的值没有与expr表达式的值相等,则执行default标签后的代码块。

2、switch语句和if语句的区别

switch语句和if语句都可用于分支条件的选择,但switch后面的控制表达式只能是byte、short、char、int、String和枚举类型,不能是boolean类型,if后面的控制表达式是boolean类型;switch语句中各个case标签后代码块的开始点和结束点非常清晰,因此完全可以省略case后代码块的花括号。

3、switch的使用及注意事项

为了更清晰的认识switch,下面通过一段程序来示范switch的用法:

运行上面的程序输出:Java语言。

因为定义的变量(switch后面的控制表达式)"languageType" 与"Java"匹配。

如果把上面程序中的每个case标签里的break语句去掉,将会发生什么样的结果呢?那么我先把每个break语句注释掉,运行结果如下:

Java语言

C++语言 Python语言 语言类型输入错误

哪里不太对,但又说不上来。

输出结果是不是很奇怪!这正是switch语句的运行流程决定的,只要进入switch语句的入口,程序会一直运行下去,直到遇到break语句,如果省略了break语句,那么匹配case值后的所有情况(包括default)都会被执行。

所以,使用switch语句时,有两个值得注意的地方:

1)switch后面的控制表达式只能是byte、short、char、int、String和枚举类型;

2)如果省略了case后的代码块break,将会引入一个陷阱。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java典籍 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档