一、前言

本人也做开发好几年了,Switch用的都是case匹配后直接break,今天才发现,如果当前case不break,那么将会执行所有case里的代码(不管case批不匹配)。

二、Switch介绍

1.switch中的表达式的数据的数据类型为byte,short,int,char,String(jdk>1.7支持String类型)
2.default可以放在任意一行,但是不管放在那一行,都会先找第一个case去匹配,如果所有的case都不匹配,才会执行default,default可以省略不写,建议写上。
3.break可以不写,就容易造成switch的穿透现象,如果匹配过一次或者执行过default之后,都不会再进行二次匹配了,但是语句体内容该执行还是会执行

三、Switch的穿透

int state =2;switch (state) {case 1:System.out.println("1");case 2:System.out.println("2");case 3:System.out.println("3");default:System.out.println("4");break;}

如上代码,输出结果为:2,3,4;即使state不为3和4,因为2中匹配后没有break,则后续代码则不会进行case判断,直到遇到break为止。

Java中switch的详细使用相关推荐

  1. Java中switch都可以支持哪些数据类型

    Java中switch都可以支持哪些数据类型 在JDK1.5之前,switch循环只支持byte short char int四种数据类型. JDK1.5 在switch循环中增加了枚举类与byte ...

  2. 品味性能之道十一:JAVA中switch和if性能比较

    通常而言大家普遍的认知里switch case的效率高于if else.根据我的理解而言switch的查找类似于二叉树,if则是线性查找.按照此逻辑推理对于对比条件数目大于3时switch更优,并且对 ...

  3. Java中的enum详细解析------Java 语言中 Enum 类型的使用介绍

    Enum 类型的介绍 枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常 ...

  4. Java 中 switch 的用法

    Java 中 switch 的用法 1.switch 中的表达式的数据的数据类型为 byte, short, int, char, String(jdk > 1.7支持 String 类型) 2 ...

  5. java中switch用法举例范围_Java中Switch用法代码示例

    一.java当中的switch与C#相比有以下区别 注:在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样), 在java1.7后 ...

  6. 关于Java中Switch支持的数据类型

    Java中Switch支持byte.short.char.int四种基本类型,在JDK1.5中支持了枚举类型以及byte.short.char.int四种基本数据类型的包装类,在JDK1.7中支持了S ...

  7. java中switch条件_关于java:你能在Android的switch-case中使用条件语句吗?

    在我的寻找中,我似乎找不到一个直截了当的肯定或否定.在android中,有没有一种在case switch中使用条件语句的方法?例如,年龄是一个int值: switch (age){ case (&g ...

  8. Java中switch对整型/字符型/字符串型具体实现细节

    转自:http://www.hollischuang.com/archives/61 Java7中switch中支持的数据类型有: byte short int char String类型 其实swi ...

  9. 面试题解析:1 Java中switch语句可以作用在enum上的测试

    enum是java中的枚举,其实枚举是一个常量,枚举就是定义枚举类的一个实例. 定义枚举的时候,应该注意一下几个问题: 其构造方法应该是private 的,为什么呢?根据我的理解,应为枚举是个常量,枚 ...

最新文章

  1. halcon:(4)halcon中XLD的概念与应用----汽车引擎盖圆孔检测
  2. DeeCamp 2020 赛题大公开!快来看你想选哪个
  3. 根据传入url请求,返回json字符串
  4. Linux 磁盘坏道检测和修复
  5. Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程
  6. 撬开骁龙8一看,满满都是顶会论文
  7. 02-JDBC连接MySQL数据库【查询数据】
  8. [转] Windows 下校验 Fedora 安装文件
  9. jfinal文件上传
  10. mysql两种引擎的适用场景_MySQL两种引擎的区别和应用场景
  11. 前端学习(3163):react-hello-react之组件化编码
  12. memcpy,strcpy,strncpy
  13. 2016全球可再生能源投资额为2416亿美元
  14. 字节跳动的首款获批游戏曝光 原来是这个
  15. LeetCode题目总结-滑窗法
  16. MapReduce:详解Shuffle过程
  17. public 函数_C++:11友元函数、友元类
  18. 开源项目之Windows读取Ext4分区的工具 Ext2Read
  19. 第三届泰迪杯全国大学生数据挖掘竞赛通知
  20. git输入 ssh-keygen -t rsa 后只显示Generating public/private rsa key pair. 然后就直接跳出了

热门文章

  1. 【电子学会】2022年09月图形化一级 -- 踢足球
  2. 邮件数据泄露,机构单位应如何应对
  3. ​龙迅股份在科创板上市:募资约11亿元,赛富、深创投为股东​
  4. Userinit.exe
  5. 用ISO-8859-1解决Python ‘utf-8‘ codec can‘t decode bytes in position 924-925问题
  6. 2021-2027年中国手机玻璃行业市场研究及前瞻分析报告
  7. 考研英语长难句(刘晓燕)笔记 第四课 绝对的考研命穴——定语和定语从句
  8. 采草药C语言,进深山、识百草、采草药 ————医路向前团队采集中草药
  9. win7插着网线开机卡死,拔下网线开机正常
  10. 解决无法使用gpt的问题