switch “开关”的意思,是一种“选择”语句,它用法非常简单。switch 是多分支选择语句。说得通俗点,多分支就是多个 if语句的组合。从功能上说,switch 语句和 if 语句完全可以相互取代。但从编程的角度,它们又各有各的特点,所以至今为止也不能说谁可以完全取代谁。

当嵌套的 if 比较少时(三个以内),用 if 编写程序会比较简洁。但是当选择的分支比较多时,嵌套的 if 语句层数就会很多,导致程序冗长,可读性下降。因此用 switch 语句来处理多分支选择。所以 if 和 switch 可以说是分工明确的。在很多大型的项目中,多分支选择的情况经常会遇到,所以 switch 语句用得还是比较多的。

switch的一般形式如下:

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

说明:

1) switch() 括号内的“表达式”必须是整数类型或者可以转换为整型的数值类型。比如:byte、short、int、char、也可以直接是整数或字符常量还有枚举,哪怕是负数都可以。需要强调的是:float、double、long和String类型是不能作用在switch语句上的。

2) switch 下的 case 和 default 必须用一对大括号{}括起来。

3) 当switch后面括号内“表达式”的值与某个case后面的“常量表达式”的值相等时,就执行此case后面的语句。执行完一个case后面的语句后,流程控制转移到下一个case继续执行。如果你只想执行这一个case语句,不想执行其他case,那么就需要在这个case语句后面加上break,跳出switch语句。
switch是“选择”语句,不是“循环”语句。因为break一般给我们的印象是跳出“循环”,但break还有一个用法,就是跳出switch。

4) 若所有的 case 中的常量表达式的值都没有与 switch 后面括号内“表达式”的值相等的,就执行 default 后面的语句,default 是“默认”的意思。如果 default 是最后一条语句的话,那么其后就可以不加 break,因为既然已经是最后一句了,则执行完后自然就退出 switch 了。

5) 每个 case 后面“常量表达式”的值必须互不相同,否则就会出现互相矛盾的现象,而且这样写造成语法错误。

6) “case常量表达式”只是起语句标号的作用,并不是在该处进行判断。在执行 switch 语句时,根据 switch 后面表达式的值找到匹配的入口标号,就从此标号开始执行下去,不再进行判断。

7) 各个 case 和 default 的出现次序不影响执行结果。但从阅读的角度最好是按字母或数字的顺序写。

8) 当然你也可以不写 default 语句,就跟 if…else 最后不要 else 语句一样。但最好是加上,后面可以什么都不写。这样可以避免别人误以为你忘了进行 default 处理,而且可以提醒别人 switch 到此结束了。
default 后面可以什么都不写,但是后面的冒号和分号千万不能省略,省略了就是语法错误。

例:

public class MultipleBranch {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入您想去的楼层:");int storey = scanner.nextInt();switch (storey) {case 1:System.out.println("1层开!\n");break;case 2:System.out.println("2层开!\n");break;case 3:System.out.println("3层开!\n");break;default:System.out.println("该层不存在! 请重新输入\n");}}}            

转载请注明出处:BestEternity亲笔。

switch case语句用法详解相关推荐

  1. java中switchcase用法,java中的switch case语句使用详解

    java中的switch case语句 switch-case语句格式如下: ? swtich()变量类型只能是int.short.char.byte和enum类型(JDK 1.7 之后,类型也可以是 ...

  2. java的case_java中的switch case语句使用详解

    java中的switch case语句 switch-case语句格式如下: switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; .. ...

  3. java case switch面试_Java基础篇——Java中switch case语句用法及注意事项面试题9期

    本文主要说一说关于switch case语句用法及注意事项,应对面试官的提问.希望可以帮助那些对switch存在错误和各种细节问题的"码友". switch-case注意事项 sw ...

  4. c语言for表达式1的作用,C语言for语句用法详解

    C语言for语句用法详解 C语言是一门高级计算机编程语言,设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.下面小编给大家介绍C语言f ...

  5. java if 用法详解_Java if判断语句用法详解

    Java if判断语句用法详解 if关键字中文意思是如果,其细致的语法归纳来说总共有三种:if语句.if-else语句和if-else if-else语句,下面重点介绍if语句. if语句 语法 if ...

  6. mysql like escape_mysql like语句用法详解 含通配符使用方法

    mysql like语句用法详解 含通配符使用方法2017-11-07 20:46 在对数据进行模糊查询的时候,我们基本上都会用到like语句. 我们先来了解一下like语句中的通配符:百分号(%). ...

  7. 【C语言for语句用法详解】

    ** C语言for语句用法详解 说明 for语句用于重复执行一段语句块.通常会使用一个增量计数器递增和终止循环.for语句对于任何需要重复的操作是非常有用的. 结构 for(表达式1; 表达式2; 表 ...

  8. MySQL中Case When用法详解

    最近,在学习Hive基础知识时,遇到了遇到了Case When Else End语法,以前学习MySQL时忽略了这部分知识点,现总结一下相关的知识给大家.首先练习一个例子如下: 一.学生课程成绩统计 ...

  9. c语言switch问候语,C语言switch语句用法详解

    switch语句的通常形式: switch(整形表达式) { case 常量表达式1:  语句1; case 常量表达式2:  语句2; - case 常量表达式n:  语句n; default:  ...

最新文章

  1. 真不夸张,90%的人都被需求整“哭”过
  2. Android_Sqlbrite入门使用
  3. 过河 2005年NOIP全国联赛提高组(离散化+dp)
  4. android studio 反编译修改versioncode,在android studio 中修改versioncode 跟versionname(示例代码)...
  5. C语言 static
  6. java课程设计学生信息管理_JAVA课程设计---学生基本信息管理系统
  7. ASP.NET 性能监控工具和优化技巧
  8. linux java keytool_JDK自带的keytool证书工具详解
  9. 大数据入门的知识体系,大数据学习路线
  10. 详解Vue中的自定义指令
  11. 三次方分解因式重要公式
  12. 基于verilog的数字频率计数器
  13. 大数据 人工智能 数据库 数据仓库
  14. opencv3/C++ SURF特征检测
  15. 用python爬取qq空间内容_用python爬取QQ空间
  16. 带nfc 的 android 华为,目前支持NFC的手机这么多,为什么只有小米华为能覆盖这么多城市...
  17. 113资讯网(www.113p.cn)评测:护卫神·主机大师 (Linux版)
  18. 3.8 Multisim应用举例
  19. Java 基础实现斗地主游戏
  20. 【HTML、CSS练习题1】

热门文章

  1. 威控复合机器人(二)------机械臂的控制
  2. 蒲丰投针结果_只能用纸笔才能计算圆周率?蒲丰告诉你,投针游戏也可以
  3. Coremail归档系统2020快问快答
  4. 《小成本对付宽带我世界实现有线/无线同时上网》配置要点
  5. 海康录像机识别不到硬盘_海康威视监控硬盘录像机NVR画面显示资源不足解决办法设置方法...
  6. 基于JAVA高校科研信息管理系统计算机毕业设计源码+数据库+lw文档+系统+部署
  7. 金蝶K3案例教程物料与物料清单后台配置
  8. 使用学校机房网线连接自己笔记本电脑的步骤
  9. 通达信自动交易接口怎么显示大宗流入?
  10. Excel自动筛选,设置为“空白”,返回了“非空白数据”的解决思路