publicclass Test {
publicstaticvoid main(String[] args) {
// switch可作用于char byte short intchar season1 = 3;
byte season2 = 3;
short season3 = 3;
int season4 = 3;
// switch可作用于char byte short int对应的包装类
Character season11 = 3;
Byte season22 = 3;
Short season33 = 3;
Integer season44 = 3;
// 下面的基本类型的包装类就不行了,还有double float的包装类
// Long season = 0;
// switch不可作用于long double float boolean,包括他们的包装类long season5 = 3;
double season6 = 3;
float season7 = 3f;
boolean season8 = false;
String strSeason = "";
switch (season1) {
case 1:
strSeason = "Spring";
break;
case 2:
strSeason = "Summer";
break;
case 3:
strSeason = "Fall";
break;
case 4:
strSeason = "Winter";
break;
default:
strSeason = "四季中没有这个季节";
break;
}
System.out.println("strSeason:" + strSeason);
}
}
JDK1.5枚举
/*
* switch中可以是1.5枚举类型
*///枚举三个量enum Signal{
GREEN,YELLOW,RED;
}
publicclass Test {
publicstaticvoid main(String[] args) {
Signal color = Signal.RED;
switch (color) {
case RED:
color = Signal.YELLOW;
break;
case YELLOW:
color = Signal.RED;
case GREEN:
color = Signal.YELLOW;
default:
System.out.println("什么鬼灯");
break;
}
System.out.println("color:"+color);
}
}
JDK1.7之后支持String,但是要求case也是String
/*
* switch中可以是字符串类型
*String(jdk1.7之后才可以作用在string上)
*/publicclass Test {
publicstaticvoid main(String[] args) {
int season = 0;
String strSeason = "Summer";
switch (strSeason.toLowerCase()) {
case "spring":
season = 1;
break;
case "summer":
season = 2;
break;
case "fall":
season = 3;
break;
case "winter":
season = 4;
break;
default:
season = -1;// 没找到对应的季节break;
}
System.out.println(strSeason + "-->" + season);
}
}