一、不可以.
switch条件只能是byte short int char和枚举类型
Jdk 7.0开始可以支持String
long型是不支持的
二、switch下坠
switch语句的case匹配上以后,不会跳出switch,会继续执行下面的case和default(不管满不满足条件都会执行),要跳出switch在case后加上break。
public class TestSwitch{
public static void main(String[] args){
char score = 'B';
/*
switch(score){
case 'A':System.out.println("excellent");break;
case 'B':System.out.println("good");
case 'C':System.out.println("normal");
case 'D':System.out.println("pass");
case 'E':System.out.println("failed");
default:System.out.println("default");
}*/
//执行结果
//good
//normal
//pass
//failed
//default
switch(score){
case 'A':System.out.println("excellent");break;
case 'B':System.out.println("good");break;
case 'C':System.out.println("normal");break;
case 'D':System.out.println("pass");break;
case 'E':System.out.println("failed");break;
default:System.out.println("default");
}
//跳到这
//执行结果
//good
}
}