您的位置:首页 > 职场人生

面试题:switch语句能否作用在byte上,能否作用在long上,能否作用在String上?

2018-01-15 15:15 507 查看
/**
 * 问题: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);  

    }  

  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐