switch

1.switch 語句

語法:express

switch(expression)
{
case value1 : statement1;
break;
case value2 : statement2;
break;
case value3 : statement3;
break;
default: statement4;
}

注意:code

  • expression必須是byte、short、int、char類型的,value必須與expression類型兼容的一個常量,並且不能重複。
  • 必定不要望了每一個判斷後添加break,不然計算機回默認執行爲真後面全部的statement;
  • default語句能夠出如今任意位置;statement、break、default均可以不寫。

2.switch無break

int a=2;
switch(a)
{
case 1 :System.out.println(1);
case 2 : System.out.println(2);
case 3 :System.out.println(3);
break;
default:System.out.println(4);
}

運行結果:it

2
3

代碼解析:case 2 語句後沒有break,程序繼續向下執行,遇到case 3 語句後的break結束switch語句,故default語句不會執行。io

4.case後無statement語句

public class sd {
    public static void main(String[] args) {
        int month=2;
        switch(month)
        {
        case 12 :
        case 1 : 
        case 2 :
            System.out.println("冬季");
            break;
        case 3 :
        case 4 : 
        case 5 :
            System.out.println("春季");
            break;
        case 6 :
        case 7 : 
        case 8 :
            System.out.println("夏季");
            break;
        case 9 :
        case 10 : 
        case 11 :
            System.out.println("秋季");
            break;
        default:System.out.println("輸入錯誤");     
        }
    }
}

5.default 不在末尾

public class A {
    public static void main(String[] args) {
        int a=2;
        switch(a)
        {
        default: System.out.println("no");
        case 0: System.out.println(0);
        case 1: System.out.println(1);
        }
    }

}

運行結果:class

no
0
1
public class A {
    public static void main(String[] args) {
        int a=0;
        switch(a)
        {
        default: System.out.println("no");
        case 0: System.out.println(0);
        case 1: System.out.println(1);
        }
    }

}

運行結果:語法

0
1

switch 語句的執行邏輯:先找experssion對應的value值,若是存在執行對應語句向下執行直到遇到break;若是不存在則執行default語句再向下執行,遇到break中止。程序

相關文章
相關標籤/搜索