`
chenshuyi
  • 浏览: 26049 次
文章分类
社区版块
存档分类
最新评论

Java-switch语句必知知识点

 
阅读更多

switch语句在企业笔试的时候可以说是一道必考的题目啊,虽然switch挺简单的,但是它还是有一些必须知道的细节的。

1.default分支的隐含条件

在case分支中,可以添加default作为默认的执行语句。但是default分支执行是有一个隐含条件的,那就是default分支之前的case分支都不符合。即只有之前的case分支都不符合时,才会执行default分支。

2.由break引发的陷阱

有时候在试题中面试官会故意在case分支中少写break语句,由此来考察面试者是否对switch语句理解到位。比如下面这道题:

char score = 'C';
switch(score)
{
	case 'A':
		System.out.println("优秀");
	case 'B':
		System.out.println("良好");
	case 'C':
		System.out.println("中");
	case 'D':
		Systemm.out.println("及格");
	case 'E':
		System.out.println("不及格");
	default:
		System.out.println("成绩输入错误");  
}
/*输出:
中
及格
不及格
成绩输入错误
*/
想想看上面这道题会输出什么?

哈哈,是不是有点困惑了呢?

从执行结果可以看出:当switch语句找到对应的case之后,便执行相应的方法体,而且不再判断case和default后的标签是否符合,一直遇到break时才结束执行。

3.switch表达式的类型

“switch后的表达式可以是什么类型”?如果问到这道题,你是不是要跪了呢?嗯,再复习一下吧。

对于switch语句而言,它支持五种数据类型,分别是:

①byte:字节整型

②short:短整型

③int:整型

④char:字符型

⑤enum:枚举型

其实除了枚举型,其他的4个都可以转化成整数。所以,可以理解成switch支持整型的数据和枚举型的数据。

但这里还有一点不是很清楚,既然说是switch支持整型,那么short/int当然是整数,而char是字符,可以转换成ASCII整数。而byte呢?byte怎么转成整数?到这里的思路就断了。有思路的同学,可以给我指点指点啊。




分享到:
评论

相关推荐

    计算机程序设计(Java)-教案--单元二--Java语言开发基础.docx.docx

    :・Switch语句的用法; 工程描述 :・工程1:猜数字游戏 教学方法 问题导引法:通过给学生提出实际编程中出现的问题来引入教学内容,使学生在主动分析、讨论和解决问题的过程中掌握所学知识; :・案例分析法:通过...

    动力节点JAVA完美学习课程 JAVA黄埔军校2018年最新JAVA夜校班全程班视频教程 1-56部分.txt

    2. 课程包含: JDK安装、开发环境搭建,java编程基础知识,分支语句、循环语句、封装、继承、多态等并配备相应练习题,希望对大家有所帮助。 PS:只做java是动力节点的战略布局,让每位初学者顺利入门是动力节点零...

    Java基础知识点.html

    跳转控制语句 三元运算符 逻辑运算符 短路逻辑运算符 数组 方法简述 switch语句 if语句 关系运算符 自增自减运算符 赋值运算符 算术运算符 类型转换 Java简述 标识符 变量 数据类型 常量 关键字

    Java提示缺少返回语句的解决办法

    在本篇文章里小编给大家分享了关于Java提示缺少返回语句的解决办法以及相关知识点,需要的朋友们参考下。

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.2.2 插曲:Java中的语句 37 3.2.3 创建一个变量和变量名的规范 37 3.2.4 Java中的基本运算符和表达式 39 3.2.5 Java中的布尔运算符 43 3.3 基本数据类型运算的难点 47 3.3.1 强制类型转换——小数哪里去了 48...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.2.2 插曲:Java中的语句 37 3.2.3 创建一个变量和变量名的规范 37 3.2.4 Java中的基本运算符和表达式 39 3.2.5 Java中的布尔运算符 43 3.3 基本数据类型运算的难点 47 3.3.1 强制类型转换——小数哪里去了 48...

    AIC的Java课程1-6章

    第5 版 清华大学出版社  “SCJP学习指南” 人民邮电出版社  “Java 编程思想” 第3版 机械工业出版社  教学内容和要求 知识点 重要程度 使用频度 难度 Java 入门 高 中 易 变量和运算符 高 ...

    整理后java开发全套达内学习笔记(含练习)

    switch (关键字) 选择语句。 n.开关,道岔 [switʃ] synchronized (关键字) 同步(锁) ['siŋkrәnaiz] Thread [java] 线程 [θred] throw (关键字) throws (关键字) [θrәu] 抛出(异常) transient (关键字) 瞬变;...

    C++ - 基本知识点(二)PDF

    ASCII、 隐显转换、 三大循环、 while 语法结构、 for循环、 do...while()循环、 switch语句、 练习题

    java7hashmap源码-Note-For-Java:Java笔记

    记录一下java学习过程的重要知识点 1.在java中如果被除数或者除数有一个为浮点类型,0或者0.0是可以用作除数的,结果得正负无穷;取余操作亦是如此。 2.java在7.0之后switch语句case后面支持String类型。 3.java嵌套...

    java基础知识

    Java知识点总结 48 一 布尔类型 48 二 强转 48 三 运算符: 49 1 关系运算符: 49 2 逻辑运算符 49 3 算数运算符: 49 4 赋值运算符: 49 5 连接符 : 49 四 if判断 49 (1)if语法: 49 (2)if else语法: 50...

    疯狂JAVA讲义

    4.2.2 switch分支语句 76 4.3 循环结构 78 4.3.1 while循环语句 78 4.3.2 do while循环语句 79 4.3.3 for循环 80 4.3.4 嵌套循环 83 4.4 控制循环结构 84 4.4.1 使用break结束循环 84 4.4.2 使用continue...

    java面试题,180多页,绝对良心制作,欢迎点评,涵盖各种知识点,排版优美,阅读舒心

    【基础】switch支持的类型 17 【基础】当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 17 【基础】重载(Overload)和重写...

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

    Java面试宝典(传说中的葵花宝典).doc

    5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上? 在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,...

    Java2核心技术.part5

    3.8.5多重选择――switch语句 3.8.6中断控制流程语句 3.9大数值 3.10数组 3.10.1 “for each”循环 3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 ...

    java 面试题 总结

    JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    Java2核心技术.part3

    3.8.5多重选择――switch语句 3.8.6中断控制流程语句 3.9大数值 3.10数组 3.10.1 “for each”循环 3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 ...

    Java2核心技术.part1

    3.8.5多重选择――switch语句 3.8.6中断控制流程语句 3.9大数值 3.10数组 3.10.1 “for each”循环 3.10.2数组初始化器以及匿名数组 3.10.3数组拷贝 3.10.4命令行参数 3.10.5数组排序 3.10.6多维...

Global site tag (gtag.js) - Google Analytics