switch語句


分支語句switch語句

格式:

switch (表達式) {
    case 1:
        語句體1;
        break;
    case 2:
        語句體2;
        break;
    ...
    default:
        語句體n+1;
        break;
}

執行流程:

  • 首先計算出表達式的值

  • 其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結 束。

  • 最后,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然后程序結束掉。

switch案例

/*
需求:鍵盤錄入星期數,顯示今天的減肥活動
周一:跑步  
周二:游泳  
周三:慢走  
周四:動感單車
周五:拳擊  
周六:爬山  
周日:好好吃一頓 
*/
public static void main(String[] args){
        // 1. 鍵盤錄入星期數據,使用變量接收
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入");
        int week = sc.nextInt();
        // 2. 多情況判斷,采用switch語句實現
        switch(week){
            // 3. 在不同的case中,輸出對應的減肥計划
            case 1:
                System.out.println("跑步");
                break;
            case 2:
                System.out.println("游泳");
                break;
            case 3:
                System.out.println("慢走");
                break;
            case 4:
                System.out.println("動感單車");
                break;
            case 5:
                System.out.println("拳擊");
                break;
            case 6:
                System.out.println("爬山");
                break;
            case 7:
                System.out.println("好好吃一頓");
                break;
            default:
                System.out.println("您的輸入有誤");
                break;
        }
    }
}
View Code

switch語句case穿透

  • 概述 : 如果switch語句中,case省略了break語句, 就會開始case穿透

  • 需求 : 鍵盤錄入星期數,輸出工作日、休息日 (1-5)工作日,(6-7)休息日

  • 示例代碼:

/*
case穿透是如何產生的?
    如果switch語句中,case省略了break語句, 就會開始case穿透.
        
現象:
    當開始case穿透,后續的case就不會具有匹配效果,內部的語句都會執行,直到看見break,或者將整體switch語句執行完畢,才會結束。
*/
public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入星期數:");
        int week = sc.nextInt();
        
        switch(week){
            case 1:
            case 2:
            case 3:
            case 4:
            case 5:
                System.out.println("工作日");
                break;
            case 6:
            case 7:
                System.out.println("休息日");
                break;
            default:
                System.out.println("您的輸入有誤");
                break;
        }
    }    
}
View Code

 


免責聲明!

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



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