5、switch語句能否作用在byte上,能否作用在long上,能否作用在String上?-Java面試題答案


/**
 * 問題: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,包括他們的包裝類,源代碼示例:

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);
    }
 
}

 

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枚舉類型,源代碼示例:

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);
    }
 
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM