Java的switch case 语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch case 语句语法格式如下:
switch(expression){case value1 ://语句break; //可选case value2 ://语句break; //可选//你可以有任意数量的case语句default : //可选//语句
}
switch case 语句有如下规则:
switch 语句中的变量类型可以是: byte、short、int 或者 char。
从 Java SE 7 开始,switch 支持字符串 String 类型了,同时 case 标签必须为字符串常量或字面量。
switch 语句可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号。
case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面常量。
当变量的值与 case 语句的值相等时,那么 case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句。
当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句。
switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。
public class MyDemo{public static void main(String args[]){//char grade = args[0].charAt(0);char grade = 'C';switch(grade){case 'A' :System.out.println("优秀"); break;case 'B' :case 'C' :System.out.println("良好");break;case 'D' :System.out.println("及格");break;case 'F' :System.out.println("你需要再努力努力");break;default :System.out.println("未知等级");}System.out.println("你的等级是 " + grade);}
}
运行结果:
良好 你的等级是 C
循环穿透现象
1、如果 case 语句块中没有 break 语句时,JVM 并不会顺序输出每一个 case 对应的返回值,而是继续匹配,匹配不成功则返回默认 case。
public class MyDemo{public static void main(String args[]){int i = 5;switch(i){case 0:System.out.println("0");case 1:System.out.println("1");case 2:System.out.println("2");default:System.out.println("default");}}
}
运行结果:
default
2、如果 case 语句块中没有 break 语句时,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
public class MyDemo{public static void main(String args[]){int i = 1;switch(i){case 0:System.out.println("0");case 1:System.out.println("1");case 2:System.out.println("2");default:System.out.println("default");}}
}
运行结果:
1 2 default
3、如果当前匹配成功的 case 语句块没有 break 语句,则从当前 case 开始,后续所有 case 的值都会输出,如果后续的 case 语句块有 break 语句则会跳出判断。
public class MyDemo{public static void main(String args[]){int i = 1;switch(i){case 0:System.out.println("0");case 1:System.out.println("1");case 2:System.out.println("2");case 3:System.out.println("3");break;default:System.out.println("default");}}
}
运行结果:
1 2 3
Java的switch case 语句相关推荐
- java case switch面试_Java基础篇——Java中switch case语句用法及注意事项面试题9期
本文主要说一说关于switch case语句用法及注意事项,应对面试官的提问.希望可以帮助那些对switch存在错误和各种细节问题的"码友". switch-case注意事项 sw ...
- java case 的错误_关于java:switch case语句错误:case表达式必须是常量表达式
我的switch-case语句昨天运行得很好. 但是当我今天早些时候运行代码时,eclipse给了我一个错误,用红色突出显示case语句并说:case表达式必须是常量表达式,它是常量我不知道发生了什么 ...
- java break在switch_java中switch case语句需要加入break的原因解析
java中switch case语句需要加入break的原因解析 java 中使用switch case语句需要加入break 做了具体的实例分析,及编译源码,在源码中分析应该如何使用,大家可以参考下 ...
- java switch case语句_在Java中使用switch Case语句的例子
当我们有多个选项,并且需要为每个选项执行不同的任务时,就需要使用Switch case语句. Switch case语句的语法如下-switch (variable or an integer exp ...
- java的case_java中的switch case语句使用详解
java中的switch case语句 switch-case语句格式如下: switch(变量){ case 变量值1: //; break; case 变量值2: //...; break; .. ...
- Java switch case 语句
什么是switch case? switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch的语法 switch case 语句语法格式如下: switch( ...
- java中switchcase用法,java中的switch case语句使用详解
java中的switch case语句 switch-case语句格式如下: ? swtich()变量类型只能是int.short.char.byte和enum类型(JDK 1.7 之后,类型也可以是 ...
- java switch case 跳转_Java switch case语句
1.switch case 语句有如下规则: switch 语句中的变量类型可以是: byte.short.int 或者 char.从 Java SE 7 开始,switch 支持字符串 String ...
- java switch原则_Java switch case语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支. switch case 语句语法格式如下: switch(expression){ case value : ...
- JAVA基础——Switch条件语句
JAVA基础--switch 条件语句 switch语句结构: switch(表达式){case值1:语句体1:break:case值2:语句体2:break:case值3:语句体3:break:.. ...
最新文章
- Nsight Compute Profilier 分析
- 一张清华大学教授工资单曝光!想象与现实天壤之别……
- 【交换机】交换机如何配置光电复用接口
- go语言代码连接mysql_【mysql】golang连接mysql操作示例增删改查
- Spring Boot JWT 快速入门
- php ssh 管理服务器,php 利用ssh执行远程或本地liunx服务器命令
- ERROR: Cannot unpack file C:\Users\admin\AppData\Local\Temp\pip-unpack-yo8pmupp\simple.htm (download
- 放苹果(信息学奥赛一本通-T1192)
- GO语言实现设计模式【全】
- springmvc工作流程_springMVC工作原理及流程详细讲解
- yarn 常用命令(干干货!)
- apt-get update出现NO_PUBKEY问题解决
- 2009年3月全国计算机等级考试二级Java笔试试题及答案
- z8350mini盒子装fedora无线wifi命令研究
- 【2023校招刷题】常见面试问题总结(一、EDA工具及IC整体设计流程篇)(随后续面试不断更新....)
- 微信JSAPI几个函数介绍
- Matlab的GUI程序转换为单独可执行的exe文件
- 如何设计一个风控实验?以度小满风控实验平台架构设计为例
- STM32实现低功耗待机(电流低至5.7uA)
- Hadoop —— 漫画图解hdfs读、写、容错、副本机制