关于Java里头的Switch语句以及Break关键字, 好多人在刚刚接触之际, 极易将它们的作用给混淆掉。实际上, Switch宛如一个多路选择器, 依据一个变量的值, 跳转至各异的执行分支, 然而Break乃是用于跳出当前分支, 防止代码持续往下执行。领会这两种语法, 乃是Java流程控制的根基, 特别适宜初学者去掌握条件判断的另外一种写法。

Switch语句什么时候用
在你有着对同一个变量开展多次等值判断需求之际, Switch相较于一连串的if - else会显得更为清晰。举例而言, 倘若你要点依据数字1至7输出与之对应的星期几, 运用Switch来书写会显得清楚分明。它的基础结构是, switch(表达式)之后跟随着多个case标签, 每一个case后面跟着一个常量值以及一个冒号。程序将会自上至下对表达式的值予以匹配, 一旦寻觅到匹配的case, 便会从该处起始执行。在这里需要予以注意, 表达式的类型应当为byte、short、char、int、String或者枚举才行, 绝不能够是浮点数或者布尔值。在实际的开发过程当中, Switch常常被运用在菜单选择、状态机转换或者权限判断这些场景里面。比如说当用户输入一个操作码时, 你借助Switch来决定调用哪一个功能模块, 其代码的可读性相较于if - else链而言要高出许多。

Break关键字到底起什么作用
Break是Switch之中最易于被忽略然而却最为关键的部分, 要是没有Break, 程序于匹配到某一case之后会持续执行直至Switch末尾, 这称作"穿透", 比如说你撰写case 1之后跟上一条打印语句, 再于case 2之后同样跟上一条打印语句, 要是用户选择1, 未添加Break的情形下, case 1及case 2的打印均会得以执行, 这种穿透于某些场景之下实际上是被刻意加以利用的, 好比你想要让多个case共同享有同一段代码。宛如case 1、case 2、case 3均进行相同的处置, 你能够于最后一个case之后增添处理逻辑, 而前面几个case保持空白不书写Break。然而要是你不期望穿透, 那就务必在每个case的结尾添加上Break, 不然程序会持续往下运行, 其结果极有可能并非你所期望的那般。