-
switch可作用于char byte short int
-
switch可作用于char byte short int对应的包装类
-
switch不可作用于long double float boolean,包括他们的包装类
-
switch中可以是字符串类型,String(JDK1.7之后才可以作用在string上)
-
switch中可以是枚举类型(JDK1.5之后)
public class Test { public static void main(String[] args) { // switch可作用于char byte short int char 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; } public class Test { public static void 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上) */ public class Test { public static void 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); } }
本文详细介绍了Java中switch语句的适用范围,包括它可以作用于char、byte、short、int及其包装类,从JDK1.5开始支持枚举类型,以及从JDK1.7开始支持字符串。同时,文章指出switch不适用于long、double、float、boolean及其包装类。通过示例代码展示了如何在switch中使用字符串和枚举类型。

436

被折叠的 条评论
为什么被折叠?



