课前小练习
1 2 3 |
|
这三行代码哪行会报错?
答案:
b=b1+b2;会报错
因为此运算为byte类型的运算,低于int类型的运算时会自动提升为int类型。
把 int类型的值赋值给byte会损失精度,需要强制类型转换。
b=(byte)b1+b2;
switch语句的格式及执行流程
switch表示这是switch语句
表达式的取值:byte,short,int,char
JDK5以后可以是枚举
JDK7以后可以是String
case后面跟的是要和表达式进行比较的值
语句体部分可以是一条或多条语句
break表示中断,结束的意思,可以结束switch语句
default语句表示所有情况都不匹配的时候,就执行该处的内容,和if语句的else相似。
注意:case穿透现象指的是: switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者是switch语句的末尾。如果没有break语句,那么就会从表达式的值相匹配的case标签处开始执行,一直执行到switch语句的末尾,这种从其中的一个case处开始,忽略后面的值的匹配,直接运行case的内容的现象就是穿透的现象。所以一定要加break跳出switch