Switch語句的case穿透


Switch語句的case穿透

switch語句幾點說明:

  1. case后面只能是常量,不能是變量,而且,多個case后面的值不能出現相同的.

  2.case后面表達式可以接受:

    基本數據類型,byte,short,char,int.換句話說能自動類型自動提升為int的都可以接受;

    引用數據類型可以接受枚舉(JDK1.5),String字符串(JDK1.7)

  3.default不是一定要放到最后,放到中間也不會先執行它,首先匹配case,匹配不到case才會執行default,

可以在任意位置。但是建議在最后。(default最后執行)

  4.switch語句的結束條件

    遇到break就結束了

    執行到switch的右大括號就結束了

舉例說明

  例1:看程序寫結果:

    int x = 2;

    int y = 3;

    switch(x){

      default:

      y++;

      case 3:

      y++;

      case 4:

      y++;

      break;

      case 5:

      y++;

     }

    System.out.println("y = " + y);

解答過程

  x值先和case按順序依次匹配,x=2沒匹配的case,最后走了default:y++(y自增1),然后沒有

遇到break或右大括號,不跳出switch語句,繼續向下執行,遇到下面的case相當於不再進行判斷了,

遇到break或右大括號就跳出switch語句

  結果是:y = 6

例2代碼練習

  用switch語句鍵盤錄入月份,輸出對應的季節

  import java.util.Scanner;

  class sw23 {

    public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);  //創建鍵盤錄入對象

      int month = sc.nextInt();  //將鍵盤錄入結果存儲在month

      switch (month) {

        case 3:

        case 4:

        case 5:

          System.out.println(month + "月是春季");

        break;

        case 6:

        case 7:

        case 8:

          System.out.println(month + "月是夏季");

        break;

        case 9:

        case 10:

        case 11:

          System.out.println(month + "月是秋季");

        break;

        case 12:

        case 1:

        case 2:

          System.out.println(month + "月是冬季");

        break;

        default:

          System.out.println("對不起沒有對應的季節");

        break;//可加可不加

      }

 

      }

  }

 


免責聲明!

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



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