java中的switch case語句
switch-case語句格式如下:
switch(變數){ case 變數值1: //; break; case 變數值2: //...; break; ... case default: //...; break; }
swtich()變數型別只能是 int、short、char、byte和enum型別( JDK 1.7 之後,型別也可以是String了)。當進行case判斷時,JVM會自動從上到小掃描,尋找匹配的case,可能存在以下情況:
情況一:若未找到,則執行預設的case。
int i = 5; switch(i){ case 0: System.out.println("0");break; case 1: System.out.println("1");break; case 2: System.out.println("2");break; default: System.out.println("default");break; } 輸出:default
情況二:當每一個case都不存在break時,JVM並不會順序輸出每一個case對應的返回值,而是繼續匹配,匹配不成功則返回預設case。
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"); } 輸出:default
情況三:當每一個case都不存在break時,匹配成功後,從當前case開始,依次返回後續所有case的返回值。
int i = 2; 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"); } 輸出:2 default
情況四:若當前匹配成功的case不存在break,則從當前case開始,依次返回後續case的返回值,直到遇到break,跳出判斷。
int i = 2; 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"); } 輸出:2 3
因此switch case執行時,一定會先進行匹配,匹配成功返回當前case的值,再根據是否有break,判斷是否繼續輸出,或是跳出判斷。
還需注意的是case後面只能是常量,可以是運算表示式,但一定要符合正確的型別。不能是變數,即便變數在之前進行了賦值,JVM依然會報錯。
http://shenzhen.offcn.com/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31543790/viewspace-2658867/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JAVA基礎--Switch case語句Java
- 開心檔之Java switch case 語句Java
- printf格式控制、switch-case語句
- 理解Java中的switch分支語句Java
- java中switch語句注意--breakJava
- js 學習之路7:switch/case語句的使用JS
- Java switch caseJava
- JavaScript中的switch語句JavaScript
- java學習基礎篇筆記4-----switch-case語句+Scanner類Java筆記
- eslint 效驗 switch case語句縮排警告提示處理EsLint
- Java 判斷語句 - if…else/switchJava
- java switch語句是什麼?Java
- case when 語句
- JavaScript switch語句JavaScript
- JavaScript switch 語句JavaScript
- switch語句逆向分析
- java基礎筆記 -- 6.選擇結構-if語句-switch語句Java筆記
- 條件判斷語句 if case
- [譯] part 10: switch 語句
- 消除程式碼中的 if-else/switch-case
- Java-Annotation的一種用法(消除程式碼中冗餘的if/else或switch語句)Java
- 第 7 小節 if、switch 語句
- if 多分支語句和 switch 多分支語句的異同之處
- JavaScript switch與if else語句的區別JavaScript
- Golang switch case 的使用注意點Golang
- switch_case練習
- switch-case選擇結構中的變數宣告變數
- JavaScript 流程控制語句詳解:if語句、switch語句、while迴圈、for迴圈等JavaScriptWhile
- SQL語句case when外用sum與count的區別SQL
- JAVA中的跳轉語句—break、continueJava
- Android switch語句報錯Constant expression requiredAndroidExpressUI
- 物聯網學習教程——switch語句
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- MySQL條件判斷IF,CASE,IFNULL語句詳解MySqlNull
- golang中一種不常見的switch語句寫法Golang
- (策略模式+工廠模式+map)套餐 Kill 專案中的switch case模式
- Go_ if else語句 ,,迴圈,,switch,,陣列Go陣列
- go 流程控制之switch 語句介紹Go