一、switch简介和语法

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

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

switch语句的语法如下:

switch(expr){case condition1{//代码块...break;}case condition2{//代码块...break;}...case conditionN{//代码块...break;}dafault:{//代码块...}
}

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

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

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

三、switch的使用及注意事项

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

public class TestSwitch {public static void main(String[] args) {//声明变量languageTypeString languageType = "Java";//执行switch语句switch (languageType) {case "C":System.out.println("C语言");break;case "Java":System.out.println("Java语言");break; case "C++":System.out.println("C++语言");break;case "Python":System.out.println("Python语言");break;default:System.out.println("语言类型输入错误");}}
}

运行上面的程序输出: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,将会引入一个陷阱。

有帮到你的点赞、收藏一下吧

需要更多教程,微信扫码即可

Java中的switch分支语句相关推荐

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

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

  2. java switch case语句_在Java中使用switch Case语句的例子

    当我们有多个选项,并且需要为每个选项执行不同的任务时,就需要使用Switch case语句. Switch case语句的语法如下-switch (variable or an integer exp ...

  3. java里面case是什么意思_什么是Java中的switch case语句以及如何使用它?

    switch 语句允许根据值列表测试变量是否相等.每个值被称为一个case,并针对每个case检查正在打开的变量. 语法switch(expression) { case value : //声明 b ...

  4. c语言case的值能动态修改吗,java中的switch case语句中,case所对应的数目是不确定的,能否动态改变case...

    现在方法中传入的menuList的数目是不确定的,每个menuList.get(i),都对应一个runnableList.get(i).现在需要根据menuList.size()动态改变case的数目 ...

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

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

  6. JAVA入门学习(分支语句)

    目录 前言 一.if分支语句 二.switch分支语句 前言 Java中在某些情况下,需要当某一条件满足时才执行相应代码,条件不满足则执行其他代码,这时就要采用分支语句来进行判断. 分支语句主要是用i ...

  7. [初级]Java中的switch对整型、字符型、字符串的具体实现细节

    转载自 [初级]Java中的switch对整型.字符型.字符串的具体实现细节 Java 7中,switch的参数可以是String类型了,这对我们来说是一个很方便的改进.到目前为止switch支持这样 ...

  8. 前端:JS/19/特殊运算符,运算符优先级,if条件判断语句,switch分支语句,while循环语句,for循环语句,break和continue循环控制语句,实例:九九乘法表

    特殊运算符 new运算符:创建一个对象.如:var today=new Date(); delete运算符:删除数组的元素,或者对象的属性: typeof运算符:一元运算符,主要功能:判断变量的类型的 ...

  9. Java中的Switch用法

    1,在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样),   在java1.7后支持了对string的判断 public cla ...

最新文章

  1. 监控Tomcat解决方案(监控应用服务器系列文章分享)
  2. php sqlite3 sql,在PHP中准备SQLite SQL语句
  3. 微星主板超频_微星垄断AMD、Intel平台内存超频记录 ITX小板惊人
  4. springboot中配置mybatis数据源,使用阿里的 Druid 数据库连接池
  5. 控制台输出HelloWorld案例
  6. JVM简介(三)——GC
  7. 设置git客户端不经过代理
  8. ubuntu 16.04安装并启动openssh
  9. 品读大话数据结构之六-----线性表(中)
  10. 直流调速系统概述工作原理实训教学
  11. 422器件与lvds接收器的区别_TVS管与ESD保护二极管的区别
  12. 英语四级计算机二级成绩,计算机二级成绩查询
  13. sccm安装linux系统,SCCM Client for LINUX on FIPS Enabled Systems
  14. 类的设计与实现1、设计一个图形抽象类Graph,该类中有成员变量图形类型(type),维度信息(dimension,二维或三维);成员方法计算面积(computeArea); 2、设计一个接口
  15. 【中序、后序遍历序列】【前序、中序遍历序列】构造二叉树
  16. 如何用 ARKit 将太阳系装进 iPhone(二)
  17. 标题 穿越雷区 java_蓝桥杯javaB--穿越雷区
  18. 百度android 升级,百度浏览器去广告版下载-百度浏览器v6.4.21安卓去广告去升级版-ucbug软件站...
  19. 世炬5G家庭小基站,引领新型家庭上网方式
  20. 从卖货到广告,跨境电商解锁变现新模式

热门文章

  1. 二月1500-1999元性价比排行榜:前三都是魅族手机
  2. 李国庆三位姐姐加入战局 正面刚俞渝:如继续侮辱我们,也将抓破你的脸!
  3. 电信运营商Three已在伦敦推出5G服务 并开始销售华为5G手机
  4. OPPO K3将登陆印度市场 高性价比能否占据一席之地
  5. 新一季“十大最堵互联网公司”出炉:360百度腾讯跻身三甲
  6. 拳王公社:网赚高手的零成本引流秘籍,这4个才是核心思维!
  7. 软件测试:Jmeter关联详解
  8. 十年测开如何理解自动化测试里的数据驱动、关键字驱动思路
  9. C# CollectionBase,ICloneeable
  10. python怎么向列表中添加内容_Python中向List添加元素方法