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

java中的switch case语句

switch-case语句格式如下:

switch(变量){

case 变量值1:

//;

break;

case 变量值2:

//...;

break;

...

case default:

//...;

break;

}

swtich()变量类型只能是int、short、char、byte和enum类型(JDK 1.7 之后,类型也可以是String了)。当进行case判断时,JVM会自动从上到小扫描,寻找匹配的case,可能存在以下情况:

情况一:若未找到,则执行默认的case。

int i = 5;

switch(i){

case 0:

System.out.println("0");break;

case 1:

System.out.println("1");break;

case 2:

System.out.println("2");break;

default:

System.out.println("default");break;

}

输出:default

情况二:当每一个case都不存在break时,JVM并不会顺序输出每一个case对应的返回值,而是继续匹配,匹配不成功则返回默认case。

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

情况三:当每一个case都不存在break时,匹配成功后,从当前case开始,依次返回后续所有case的返回值。

int i = 2;

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");

}

输出:2

default

情况四:若当前匹配成功的case不存在break,则从当前case开始,依次返回后续case的返回值,直到遇到break,跳出判断。

int i = 2;

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");

}

输出:2

3

因此switch case执行时,一定会先进行匹配,匹配成功返回当前case的值,再根据是否有break,判断是否继续输出,或是跳出判断。

还需注意的是case后面只能是常量,可以是运算表达式,但一定要符合正确的类型。不能是变量,即便变量在之前进行了赋值,JVM依然会报错。

到此这篇关于java中的switch case语句使用详解的文章就介绍到这了,更多相关java中的switch case语句内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/345150.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java public main_实例分析Java中public static void main(String args[])是什么意思

本文实例讲述了Java中public static void main(String args[])的来龙去脉。分享给大家供大家参考,具体如下:public static void main(String[] args)这绝对不是凭空想出来的,也不是没有道理的死规定,而是java程序执行的需要。jvm在…

打印矩阵 java_【Java】 剑指offer(29) 顺时针打印矩阵

本文参考自《剑指offer》一书,代码采用Java语言。题目输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。思路每次打印矩阵最外面的一圈(用方法printMatrixInCircle()表示),每次都是这个操作,所以可以采用递归。每次…

具有JDK 12精简数字格式的自定义精简数字模式

帖子“ 紧凑数字格式到JDK 12 ”已经成为java subreddit线程上讨论的主题 。 在那个线程中表达的与紧凑数字格式表示有关的问题涉及显示的精度数字和显示的紧凑数字模式。 可以通过使用CompactNumberFormat.setMinimumFractionDigits(int)来解决精度数字问题,该方法…

【渝粤题库】陕西师范大学100071教育学作业(高起本)

单选题 1、中小学为实现教育目标,与课堂教学相配合,在课堂教学以外对学生身心实施多种影响的正规教育活动,就是( ) A、课堂作业 B、课外作业 C课外活动 D、课外参观 2、学生的行为规范、公民意识、劳动态度等属于( ) A、心理素质 B、生理素质…

java 面试for循环_一个基础的for循环面试题

下面的这段程序主要考察的就是for循环的基础,输出什么??????1、 public class test {2、3、 /**4、 * param args5、 */6、 public static void main(String[] args) {7、 // TODO Auto-generat…

java浏览文件夹_一个用java实现简单的文件浏览器

[java]代码库import java.awt.*;import java.awt.event.*;import java.net.URL;import javax.swing.*;//文件浏览器public class HTTPBrowserDemo extends JFrame {private static final long serialVersionUID -5794029080886644211L;JTextField jtfAddress; // 输入文件地址…

【渝粤题库】陕西师范大学151203 初级会计学作业(笔试题型)

《初级会计学》作业 一、单项选择 1.下列会计要素,属于静态要素的有 ( ) A.负债 B.收入 C.费用 D.利润 2. 下列项目中,属于流动负债的有 ( &#…

【渝粤题库】陕西师范大学152208 公共危机管理

陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 陕西师范大学 内 部 题 库 教育 &#xf…

【渝粤题库】陕西师范大学164109人力资源管理 作业(高起专)

《人力资源管理》作业 一、单选题 在企业成长过程中,( )因素发挥着核心作用。 A 技术 B资金 C市场 D人力资源现代人力资源管理强调( )。 A 以 “事为中心” B 将员工视为负担与成本 C强调“控制” D强调对人的开发和管…

java快速排序算法_JAVA版排序算法之快速排序示例

本文实例讲述了JAVA快速排序实现方法。分享给大家供大家参考,具体如下:package com.ethan.sort.java;import java.util.Arrays;import java.util.Iterator;import java.util.LinkedList;import java.util.List;public class QuickSort {public static &g…

java奥运会安排赛程问题_记录奥运-当今五大Java记录框架之间的竞赛

java奥运会安排赛程问题开发人员:Takipi会告诉您何时新代码在生产中中断– Log4J vs SLF4J简单vs Logback vs Java Util日志记录vs LOG4J2 日志记录实际上是每个服务器端应用程序中古老且固有的部分。 这是应用程序以持久且可读的方式输出实时状态的主要方法。 某些…

【渝粤题库】陕西师范大学165203 社会保险学 作业(专升本)

《社会保险学》作业 一、单选题 1、劳动者参加()不需要缴纳任何保险费,而且享受待遇不受年龄、工龄、缴费年限、性别等条件的限制。 A、养老保险 B、医疗保险 C、工伤保险 D、失业保险1948年正式宣 2、保障社会安全的最后一道防线是&#xff…

【渝粤题库】陕西师范大学189202 品牌管理 作业(专升本)

一、名词解释 1、商标 2、品牌个性 3、品牌接触点 4、品质认知 5、品牌 6、品牌联想 7、品牌联合 8、品牌经理制 9、品牌形象 10、品牌杠杆力 11、品牌审计 12、投射法 13、品牌保护 二、 选择填空 A. 消费者 B. 体验 C.品牌定位 D. 品牌标识 E.反比 F. 正比 G.伞型品牌策略 H.…

【渝粤题库】陕西师范大学200311常微分方程作业(高起本)

《常微分方程》作业 一.求解下列方程 1.求方程之通解; 2.求方程之通解; 3.解初值问题; 4.求方程 之通解; 5.求方程 的通解; 6. 求方程 的通解; 7…

为什么在子类中不重写超类的实例变量

当我们在父类和子类中创建一个具有相同名称的变量,并尝试使用持有子类对象的父类引用访问它时,我们会得到什么? 为了理解这一点,让我们考虑下面的示例,其中在Parent和Child类中声明一个具有相同名称的变量x 。 class…

【渝粤题库】陕西师范大学200681C语言程序设计 作业(高起专、高起本)

一、单选题 1.有如下程序段,其执行后的输出结果为( )。 main() {int i8; while(i>1) {–i; printf(“%d”,i–);} } A. 753 B. 7531 C. 8642 D. 864 2.在下列的数组定义中,哪一个有语法错误(…

【渝粤题库】陕西师范大学201041德育论 作业(专升本)

《德育论》作业 一、单选题 1.德育过程的实质是(  )  A.将学生的思想品德认识转化为品德行为   B.提高学生自我教育、自我修养的自觉性  C.提高学生对客观世界的认识  D.教育者将一定社会的思想道德规范转化为受教育者个体的思想品德 2.大众传媒的…

【渝粤题库】陕西师范大学201661英语阅读(二)作业(高起专)

陕西师范大学 内 部 题 库 教育 (yuyueshool) 编制 《阅读(二)》作业 I.Words DIRECTIONS: Read the sentence given with each word and choose the best meaning for it. 1.injure Wooden spears or swords should be used on…

cocos lua调用java_【Tech-Lua】Cocos-2dx-Lua调用java的小白教程(三)

上周五下班前,打包成功了。我很高兴,周六去踢场足球,周日去现场看了最后一分钟掉球的恒大,度过了一个愉快的周末。然后,噩梦的周一开始了。我再次打包,打算打包就安装,但结果是失败的。为何&…

github上java项目_GitHub上10,000个最受欢迎的Java项目-以下是他们使用的顶级库

github上java项目随着Java开发人员使用既成熟又高度发展的语言来工作,无论何时编写新代码,我们都将面临一个持续的困境–使用大家都在谈论的热门新技术,或者坚持使用久经考验的库? 由于Java应用程序的很大一部分是商业性质的&…