switch选择语句 :
public static void main(String[] args) {
float num=3L;
switch ((int)num){ //(int)3.0
default:
System.out.println("全部不匹配");
break;
case 1:
System.out.println("一");
break;
case (int)2.0:
System.out.println("二");
break;
}
}
注意事项总结:
- switch小括号里的条件规定:
(1)可以是一个常量,可以是一个变量,也可以是一个公式;
(2)switch小括号里的类型只能是 byte , short , char , int ; jdk1.5后增加了enum, jdk1.7后增加了String;
注意:long不可用
(3)你可以强制类型转换一个变量,也可以强制类型转换一个常量,只要满足第二点的类型就行。
- switch方法体里的使用规定:
(1)首先,case后面跟的值必须是一个常量,你可以写成case 1:这样的,也可以写成 case (int)1.0: 这样的,但是他必须是一个常量;
(2)case后面跟的常量的类型必须是switch条件表达式里的类型;
(3)case和default的顺序无所谓,switch语句的执行流程是将所有的case同时加载到内存中,执行与关系表达式匹配的那个case,如果没有匹配的就执行default;
(4)case 语句后面最好跟着break,因为case具有穿透作用;当你执行完对应的case/default语句,遇到break或者右大括号就直接跳出switch语句。对应语句如果没有break,此时也没有到方法的“}”,他就不会再判断下面的case值是什么,直接穿透case执行下面case中的语句,直到遇到break或者方法的“}”为止;
(5)case的值一定不能重复,否则直接报错。
=========================================================================================================