Switch case

switch case 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支趁仙。

語法

switch(expression){
    case value :
       //語句
       break; //可選
    case value :
       //語句
       break; //可選
    //你可以有任意數(shù)量的case語句
    default : //可選
       //語句
}

switch case 語句有如下規(guī)則:

  • switch 語句中的變量類型可以是: byte腔寡、short焚鲜、int 或者 char。從 Java SE 7 開始放前,switch 支持字符串 String 類型了忿磅,同時 case 標(biāo)簽必須為字符串常量或字面量。

  • switch 語句可以擁有多個 case 語句犀斋。每個 case 后面跟一個要比較的值和冒號贝乎。

  • case 語句中的值的數(shù)據(jù)類型必須與變量的數(shù)據(jù)類型相同,而且只能是常量或者字面常量叽粹。

  • 當(dāng)變量的值與 case 語句的值相等時览效,那么 case 語句之后的語句開始執(zhí)行,直到 break 語句出現(xiàn)才會跳出 switch 語句虫几。

  • 當(dāng)遇到 break 語句時锤灿,switch 語句終止。程序跳轉(zhuǎn)到 switch 語句后面的語句執(zhí)行辆脸。case 語句不必須要包含 break 語句但校。如果沒有 break 語句出現(xiàn),程序會繼續(xù)執(zhí)行下一條 case 語句啡氢,直到出現(xiàn) break 語句状囱。

  • switch 語句可以包含一個 default 分支,該分支一般是 switch 語句的最后一個分支(可以在任何位置倘是,但建議在最后一個)亭枷。default 在沒有 case 語句的值和變量值相等的時候執(zhí)行。default 分支不需要 break 語句搀崭。

  • switch case 執(zhí)行時叨粘,一定會先進(jìn)行匹配,匹配成功返回當(dāng)前 case 的值,再根據(jù)是否有 break升敲,判斷是否繼續(xù)輸出答倡,或是跳出判斷。

  • 如果 case 語句塊中沒有 break 語句時驴党,JVM 并不會順序輸出每一個 case 對應(yīng)的返回值瘪撇,而是繼續(xù)匹配,匹配不成功則返回默認(rèn) case鼻弧。

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

以上代碼編譯運(yùn)行結(jié)果如下:

default
  • 如果 case 語句塊中沒有 break 語句時设江,匹配成功后,從當(dāng)前 case 開始攘轩,后續(xù)所有 case 的值都會輸出叉存。
public class Test {
   public static void main(String args[]){
      int i = 1;
      switch(i){
         case 0:
            System.out.println("0");
         case 1:
            System.out.println("1");
         case 2:
            System.out.println("2");
         default:
            System.out.println("default");
      }
   }
}

以上代碼編譯運(yùn)行結(jié)果如下:

1
2
default
  • 如果當(dāng)前匹配成功的 case 語句塊沒有 break 語句,則從當(dāng)前 case 開始度帮,后續(xù)所有 case 的值都會輸出歼捏,如果后續(xù)的 case 語句塊有 break 語句則會跳出判斷。
public class Test {
   public static void main(String args[]){
      int i = 1;
      switch(i){
         case 0:
            System.out.println("0");
         case 1:
            System.out.println("1");
         case 2:
            System.out.println("2");
         case 3:
            System.out.println("3"); break;
         default:
            System.out.println("default");
      }
   }
}

以上代碼編譯運(yùn)行結(jié)果如下:

1
2
3
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末笨篷,一起剝皮案震驚了整個濱河市瞳秽,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌率翅,老刑警劉巖练俐,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異冕臭,居然都是意外死亡腺晾,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門辜贵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悯蝉,“玉大人,你說我怎么就攤上這事托慨”怯桑” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵厚棵,是天一觀的道長蕉世。 經(jīng)常有香客問我,道長婆硬,這世上最難降的妖魔是什么讨彼? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮柿祈,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己躏嚎,他們只是感情好蜜自,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著卢佣,像睡著了一般重荠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上虚茶,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天戈鲁,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛庆寺,可吹牛的內(nèi)容都是我干的藏斩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼闷盔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起消约,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎员帮,沒想到半個月后或粮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡捞高,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年氯材,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棠枉。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡浓体,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辈讶,到底是詐尸還是另有隱情命浴,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布贱除,位于F島的核電站生闲,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏月幌。R本人自食惡果不足惜碍讯,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望扯躺。 院中可真熱鬧捉兴,春花似錦蝎困、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至虽缕,卻和暖如春始藕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背氮趋。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工伍派, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人剩胁。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓诉植,卻偏偏與公主長得像,于是被迫代替她去往敵國和親摧冀。 傳聞我的和親對象是個殘疾皇子倍踪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • switch 語句的格式: switch ( 整型或字符型變量 ) { case 變量可能值1 : 分支一; br...
    殼叔閱讀 2,738評論 1 2
  • switch case 語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支索昂。 規(guī)則:switch 語句...
    TESTME閱讀 359評論 0 0
  • [The Swift Programming Language 中文版]本頁包含內(nèi)容: Swift提供了多種流程控...
    風(fēng)林山火閱讀 569評論 0 0
  • 控制流 Swift提供了各種控制流程語句建车。這些包括while循環(huán)多次執(zhí)行任務(wù); if,guard以及switch基...
    Fuuqiu閱讀 374評論 0 0
  • 在寒假期間椒惨,我們17護(hù)8班積極展開了豐富多彩的志愿者活動缤至。我們的實踐地點是青島華泰養(yǎng)老院。一開始同學(xué)們多少有點坎坷...
    衛(wèi)校一七護(hù)八閱讀 232評論 0 0