public class test {

public static void main(String[] args) {

int a =5 ;

switch (a){

case 4:

a++;

case 5:

a++;

case 6:

a++;

case 7:

a++;

case 8:

a++;

default:

System.out.println(a);

}

}

}

如果问运行上面代码的输出是什么,大家都知道程序会输出9。

可是如果是这样呢?

public class test {

public static void main(String[] args) {

int a =5 ;

switch (a){

case 6:

a++;

case 5:

a++;

case 4:

a++;

case 3:

a++;

default:

System.out.println(a);

}

}

}

答案是8。

经过Debug调试发现是因为switch语句的case匹配语句只会匹配一次,当匹配成功后,会执行代码直到遇到 break 语句结束,如果写switch语句的时候没有加入break语句,则会发生贯穿问题,继续向下执行代码,直到switch代码块的最后一行(注意不是default)。

为了证明Switch不会执行完default代码块就结束,运行如下代码:

public class test {

public static void main(String[] args) {

int a =5 ;

switch (a){

case 4:

a++;

case 5:

a++;

case 6:

a++;

case 7:

a++;

case 8:

a++;

default:

System.out.println(a);

case 9:

System.out.println(a);

}

}

那么case 9的代码还会不会执行呢?

答案是会的,运行该程序会输出两行9。

java switch贯穿_Java Switch语句贯穿问题相关推荐

  1. java switch原则_Java switch case语句

    switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch case 语句语法格式如下: switch(expression){ case value : ...

  2. java switch 类型_Java switch case数据类型原理解析

    这篇文章主要介绍了Java switch case数据类型原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Java 中 switch cas ...

  3. java switch 变量_Java switch 用法实例

    首页 > 基础教程 > 循环条件语句 > 条件语句switch Java switch 用法实例 switch允比对一个变量的值,来执行不同情况的代码.switch使用规则如下: 1 ...

  4. java switch用法_Java switch语句

    Java switch语句用于从多个条件执行一个语句.它就像if-else-if语句一样. 语法: switch(expression){ case value1: //code to be exec ...

  5. java switch命令_Java switch-case语句用法

    首先从原理上来阐述这个问题: switch(表达式) { case 常量表达式1:语句1; .... case 常量表达式2:语句2; default:语句; } 1.default就是如果没有符合的 ...

  6. java switch 值_Java switch多值匹配操作详解

    这篇文章主要介绍了Java switch多值匹配操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 我们都知道 switch 用来走流程分支,大 ...

  7. java case 枚举_Java switch 枚举

    Switch中能够使用int.byte.short,char,Enum,String.当中Enum为1.5之后新增特性,String为java8新增特性.本文介绍怎样在Switch中使用Enum类型. ...

  8. java print快捷键_java输出语句快捷键是什么

    有一位志同道合的朋友给我留言说,MyBatis-Plus的逆向工程跟接口继承BaseMapper有什么区别,我想了想,怎么解释都不合适,最后决定出此文章进行讲解.环境搭建 首先创建一张数据库 2021 ...

  9. java switch 条件_Java ——if条件语句 switch语句

    本节重点思维导图 if条件语句 //如果条件表达式成立,执行语句块 if(条件表达式){ //-语句块 } 如果语句块只有一条语句,大括号可以省略,否则不能省略. 建议,不管有几条语句,都不要省略大括 ...

  10. java switch是什么意思_java switch语句详解

    switch 语句的格式: switch ( 整型或字符型变量 ) { case 变量可能值1 : 分支一; break; case 变量可能值2 : 分支二; break; case 变量可能值3 ...

最新文章

  1. hung-yi lee_p4_Bias And Variance
  2. TripleDES加密解密
  3. 风行未来oracle,oracle 7月份更新CVE-2020-14645 复现&利用
  4. OpenGL 颜色Colors
  5. 清除WINDOW远程登录服务器的信息
  6. jzoj4016-圈地为王【状压,bfs,几何】
  7. Android实现动画Dialog
  8. 技术在大数据分析中的重要性
  9. 仿微信,qq在短时间内接受多条消息只响一声
  10. 计算机count是什么函数,2010年职称计算机考试:计数函数COUNT
  11. [Azure]使用Powershell输出某台ASM虚拟机的NSG和ACL
  12. Python 获取动漫番剧 -XXOO
  13. 上海Oracle用户组我的页面
  14. echarts实现双y轴
  15. 实时时间(24小时制)
  16. matlab如何读取.mat文件,matlab中读取mat文件
  17. PS怎么抠出圆形图(可调整边缘)
  18. Unity再更新AR Foundation套件拥有胜博发渲染工作管线
  19. 普通人要明白赚钱的本质才有收获
  20. 中国大数据公司市场价值排行榜发布

热门文章

  1. arcmap10.7打开tif文件一片空白 | 解决方法
  2. 手机扫描二维码登录原理
  3. 2018电视剧行业调研报告-趋势篇
  4. 【网络安全】前端程序员务必掌握的图片防盗链
  5. 从一个广告读懂华为云
  6. 电商积分体系存在的问题
  7. pick_types()函数及参数 meg eeg stim eog ecg
  8. 手机录制视频然后一帧一帧分析
  9. Python3从搜狐国际新闻抓取---完整版
  10. 安卓开发颜色以及对应代码(转载)