java中switch語句注意--break
switch語句中case分支後的每個程式碼塊後都有一條break語句,這個break語句有極其重要的意義:用於終止當前分支的執行體。如果case分支後沒有使用break來終止這個分支的執行體,即使使用花括號來包圍該分支的執行體也是無效的。
Java一旦找到匹配的case分支(表示式的值與case後的值相等),程式開始執行這個case執行體,不在判斷與後面case、default標籤的條件是否匹配,除非遇到break才結束該執行體。
例:
[java] view plain copy
public class BreakTest {
public static void main(String[] args) {
// 宣告變數score,併為其賦值為'C'
char score = 'C';
// 執行swicth分支語句
switch (score) {
case 'A': {
System.out.println("優秀.");
}
case 'B': {
System.out.println("良好.");
}
case 'C': {
System.out.println("中");
}
case 'D': {
System.out.println("及格");
}
case 'E': {
System.out.println("不及格");
}
default:
System.out.println("成績輸入錯誤");
}
}
}
上面的程式省略了case分支後的break語句,為每個程式分支都增加了花括號(這個花括號通常都沒有太大的作用)用以表示執行體結束,執行結果為下圖:
從執行結果看出:當score表示式的值等於case ‘C’分支的比較值之後,程式一直執行每個分支的執行體,不再與各個分支的比較值進行比較,這是因為省略了case分支後break語句。
從邏輯意義上來看,Java語句根本不應該允許省略break的情形發生,因為省略break給實際程式設計沒有帶來多大好處,只是增加了引入陷阱的機會。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/430/viewspace-2798885/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- java中的switch case語句Java
- JAVA中的跳轉語句—break、continueJava
- 理解Java中的switch分支語句Java
- break語句
- Java迴圈語句以及break,continue語句,IDEA安裝JavaIdea
- JAVA基礎--Switch case語句Java
- java switch語句是什麼?Java
- Java 判斷語句 - if…else/switchJava
- java 帶標籤的break,continue語句Java
- JavaScript中的switch語句JavaScript
- Python中break語句和continue語句有什麼區別?Python
- JavaScript break與continue語句JavaScript
- JavaScript switch語句JavaScript
- JavaScript switch 語句JavaScript
- 開心檔之Java switch case 語句Java
- switch語句逆向分析
- java基礎筆記 -- 6.選擇結構-if語句-switch語句Java筆記
- c語言中,while(1)語句使用break語句跳出迴圈C語言While
- [譯] part 10: switch 語句
- 第 7 小節 if、switch 語句
- Java 14中對switch的增強,終於可以不寫break了Java
- switch不加break情況分析
- Python零基礎學習筆記(十八)——break語句和continue語句Python筆記
- printf格式控制、switch-case語句
- JavaScript 流程控制語句詳解:if語句、switch語句、while迴圈、for迴圈等JavaScriptWhile
- 程式碼安全測試第九期:Switch中省略了break語句導致的程式碼缺陷漏洞
- if 多分支語句和 switch 多分支語句的異同之處
- Java-Annotation的一種用法(消除程式碼中冗餘的if/else或switch語句)Java
- Android switch語句報錯Constant expression requiredAndroidExpressUI
- 物聯網學習教程——switch語句
- JavaScript switch與if else語句的區別JavaScript
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- python04: while迴圈語句 break continue for in 迴圈PythonWhile
- SQL 語句的注意事項SQL
- java學習基礎篇筆記4-----switch-case語句+Scanner類Java筆記
- go 流程控制之switch 語句介紹Go
- Go_ if else語句 ,,迴圈,,switch,,陣列Go陣列
- Java - 6 語句Java