Java switch-case

來源:互聯網
上載者:User

標籤:

首先從原理上來闡述這個問題:

switch(運算式)
{
case 常量運算式1:語句1;
....
case 常量運算式2:語句2;
default:語句;
}
1.default就是如果沒有符合的case就執行它,default並不是必須的.
2.case後的語句可以不用大括弧.

3.switch語句的判斷條件可以接受int,byte,char,short,String,enum不能接受其他類型.

4.一旦case匹配,就會順序執行後面的程式碼,而不管後面的case是否匹配,直到遇見break,利用這一特性可以讓好幾個case執行統一語句.

原理歸原理,下面是幾個容易混淆的例子.

1.標準型(case後面都有break語句)
int i=3;
switch(i)
{
   case 1:
       System.out.println(1);
       break;
   case 2:
       System.out.println(2);
       break;
   case 3:
       System.out.println(3);
       break;
   default:
       System.out.println("default");
       break;
}
輸出結果:
         3
2.特殊型1(不是完全有break語句,可以完成一些特殊應用)
int year=2005;
int month=3;
int day;
switch(month)
{
   case 1:
   case 3:
   case 5:
   case 7:
   case 8:
   case 10:
   case 12:
         day=31;
         break;
   case 2:
         day=28;
         break;
   case 4:
   case 6:
   case 9:
   case 11:
          day=30;
          break;
}
這裡 day=31;
3.特殊型2(default的位置)
int i=1;
switch(i)
{
   case 1:
       System.out.println(1);
    default:
       System.out.println("default");
   case 2:
       System.out.println(2);
       break;
   case 3:
       System.out.println(3);
       break;
}
輸出結果:
         1
         default
         2   

 

Java switch-case

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.