/**
* 问题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上
* 基本类型的包装类(如:Character、Byte、Short、Integer)
*
* switch可作用于char byte short int
* switch可作用于char byte short int对应的包装类
* switch不可作用于long double float boolean,包括他们的包装类
* switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上)
* switch中可以是枚举类型
*/
switch可作用于char byte short int
switch可作用于char byte short int对应的包装类
switch不可作用于long double float boolean,包括他们的包装类,源代码示例:
[java] view plain copy
- package java基础题目;
- public class Test5 {
- 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);
- }
- }
switch中可以是字符串类型,String(jdk1.7之后才可以作用在string上),源代码示例:
[java] view plain copy
- package java基础题目;
- /*
- * switch中可以是字符串类型
- *String(jdk1.7之后才可以作用在string上)
- */
- public class Test6 {
- 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);
- }
- }
switch中可以是1.5枚举类型,源代码示例:
[java] view plain copy
- package java基础题目;
- /*
- * switch中可以是1.5枚举类型
- */
- //枚举三个量
- enum Signal{
- GREEN,YELLOW,RED;
- }
- public class Test7 {
- 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);
- }
- }