6
第6篇:Java基础-switch语句
我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop、Spark、Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习。
上一节学习了流程控制语句,本节学习switch语句。
开始之前,我们先看一下上节的练习题。
一、练习题
if语句格式的练习:
1、获取两个数据中较大的值
2、判断一个数据是奇数还是偶数,并输出
程序执行结果如下:
二、switch语句
流程控制语句的选择结构
1
选择结构(也被称为分支结构)
选择结构有两种语句,分别为如下:
if 语句
switch语句
前面已经对if语句做了探讨,本节往下一起了解下switch语句
switch语句
switch语句格式:
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
...
default;
语句体n+1;
break;
}
格式的解释:
switch:表示这是switch选择结构
表达式:这个地方的取值有限定的
byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是字符串
case:后面跟的是要和表达式进行比较的值
语句体:要执行的代码
break:表示中断和结束的意思,可以控制switch语句的结束
default:当所有的值和表达式不匹配的时候,就执行default控制的语句,其实就相当于if语句的else
执行流程:
首先计算出表达式的值和case依次比较
一旦有对应的值,就执行相应的语句体
在执行的过程中,遇到break就会结束
最后,如果所有的case都和表达式的值不匹配,就会执行default中的语句体,程序结束
思考:
byte可以作为switch的表达式吗?
long可以作为switch的表达式吗?
String可以作为switch的表达式吗?
实例:
键盘录入一个数据,根据这个数据,我们输出对应的星期
键盘录入1,对应输出星期一
键盘录入2,对应输出星期二
...
键盘录入7,对应输出星期日
实例分析:
1、键盘录入,用switch实现
2、判断我们可以使用if语句,也可以使用switch语句
程序代码:
程序执行结果:
switch语句的注意事项:
1
case 后面只能是常量,不能是变量,而且,多个case后面的值不能出现相同的
2
default可以省略吗?
可以省略,但是不建议,因为它的作用是对不正确的情况给出的提示。
特殊情况:case就可以把值固定的(单选项),可以考虑把default给省略
3
break可以省略吗?
可以省略,不会报错,但是最终执行结果不是我们想要的,会出现case穿透现象。
不建议省略。
4
default一定要在最后吗?
不是,可以在任意位置,但是建议在最后,否则汇产生case穿透。
5
switch语句的结束条件
遇到break就结束
switch注意事项-实例
下面我们针对相关实例看下注意实现的效果。
1、举例(同名case ID & 变量ID)
程序执行结果:
可见,case后面跟的必须是常量,不可以是变量,并且case后面的值不能相同。
2、举例(省略default语句)
程序执行结果:
可见,在swith语句中,default是可以省略的,但是最终会导致一些不正确的情况不被排除在外,可以正常输入。虽然省略default不会有报错,但不建议省略掉。
3、举例(省略break)
程序执行结果:
可见,在程序执行的时候,如果没有break进行程序中断,那么程序会依次按照顺序往下执行,直到遇到break才中止。虽然省略break不会有报错,但不建议省略掉,否则程序打印的结果会有误。
4、举例(default语句不放最后)
程序执行结果:
可见,如果default不放在最后,程序本身不会报错,但是最终执行的时候,会出现case穿透。
5、举例:(switch语句结束条件)
程序执行结果:
可见,在语句x,y中的,遇到了break就直接结束语句输出;
在语句a,b中,没有遇到break,则程序执行到最后才做输出。
扩展练习题(自行完成):
1、随便出一个选择题,通过键盘录入,根据我们的选择来给出你的选择结果。
2、根据键盘录入的字符串,判断是否有满足要求的,如果有就输出否则,提示有误。
本节我们就先告一段落,下一节我们将学习循环结构语句
领取专属 10元无门槛券
私享最新 技术干货