Java-switch语句
switch语句结构的格式如下:
switch(整型表达式){ case A值: 表达式结果等于条件1时,执行此语句; break; case B值: 表达式结果等于条件2时,执行此语句; break; ... case C值: 表达式结果等于条件N时,执行此语句; break; default: 以上值都不满足时,执行此语句; break;//一般不写 }
注意:case之后的表达式结果必须是常量。
switch的使用细节和使用注意:
switch语句适用于对多个整型值进行匹配判断,从而实现条件的分支控制。
和if语句不同的是:if语句后面是根据boolean表达式判断的,所以表达式的结构可以任意写,而switch只是相当于做“表达式 == 数值”的boolean表达式判断。
推出:其实if语句更强大,switch仅仅只是对整数类型的判断而已,使用更简单.
这里的数值的类型是除long之外的整型类型,也就是说switch支持的类型是byte,short,char,int。
本质:switch仅仅只能支持int类型.(byte,short,char,会自动提升为int类型)
--------------------------------------------------------------
switch语句选择的基本数据类型只有四种:byte、short、char、int,没有long。支持的引用类型是以上四个基本数据类型的包装类(后讲),依次是Byte、Short、Character、Integer以及从Java5开始支持的枚举和Java7开始支持的String类。
case只是用来为switch选择一个执行代码的入口,如果一旦进入某个入口之后,后面的case实际上已经失去了判断的意义,也就是说代码在进入switch执行的时会把入口case之后的case统统忽略,会一直往下执行,直到遇到break或return。(穿透)
所以大家可以发现,每一个case后面没有{}这个符号来表示一个代码块。
------------------------
default表示,所有的case的值都不正确,一般放在switch的最后,也不需要使用break语句。
if和switch的选择:
if和switch都属于选择语句,也就是说功能是相似的.
if: 判断条件是boolean类型的.
switch: 判断条件是 整数表达式 == int类型的值.
------------------------------------------------------------
发现,switch只能适合对整数的值做判断,如果是一其他类型的判断,只能使用if语句.
选择:如果是对整数表达式判断等于多少,首选使用switch.
其他情况,使用if语句.
共有 0 条评论