1、switch(表达式)中的参数有哪些?
String、char、int、byte、short、枚举
case子句中必须是常量 不能是变量名或者不确定的表达式值;
2、case执行时的情况
满足case条件,先走case中的语句,遇到break跳出switch
int i = 3;
switch (i){
default:
System.out.println("default");
break;
case 1:
System.out.println("一");
break;
case 2:
System.out.println("二");
break;
case 3:
System.out.println("三");
break;
case 4:
System.out.println("四");
break;
}
// 输出:三
当满足case中的条件时,case中没有break, 程序将继续执行下边case(满不满足都会执行) 一直执行到break
int i = 3;
switch(i){
case 1:
System.out.println("一");
break;
case 2:
System.out.println("二");
break;
case 3:
System.out.println("三");
case 4:
System.out.println("四");
break;
default :
System.out.println("default");
break;
}
// 输出:三
// 四
当case中没有满足的条件,执行default中的输出
int i=8;
switch(i){
case 1:
System.out.println("一");
break;
default :
System.out.println("default");
break;
case 2:
System.out.println("二");
case 3:
System.out.println("三");
break;
case 4:
System.out.println("四");
break;
}
// 输出:default
当case中break和return一起时会报错,return时停止该函数,switch语句块下其他语句都不执行,break是跳出switch语句
switch(i){
case 1:
System.out.println("一");
break;
// return;
default :
System.out.println("default");
break;
case 2:
System.out.println("二");
case 3:
System.out.println("三");
break;
case 4:
System.out.println("四");
break;
}
System.out.println(1);
// 当return时 输出:一
// 当break时 输出:一
// 1