- Java語言GUI程序設計
- 趙滿來
- 681字
- 2019-12-06 14:22:11
3.6 多分支語句switch
用if-else-if語句處理多個分支選擇的情況顯得有些笨拙,為此Java語言提供了一個多分支語句switch,可以使多分支選擇編程更加簡單明了。
其一般形式為:

執(zhí)行流程是:計算表達式的值,并逐個與其后的常量表達式值相比較,當表達式的值與某個常量表達式的值相等時,即執(zhí)行其后的語句,然后不再進行判斷,繼續(xù)執(zhí)行后面所有case后的語句。如表達式的值與所有case后的常量表達式均不相同時,則執(zhí)行default后的語句。switch使用的表達式及常量表達式的類型可以是char、byte、short、int或其包裝器類型,從Java 7開始還可以是字符串常量,也可以是枚舉常量。switch使用枚舉常量有一些特殊的規(guī)定,后面章節(jié)將詳細介紹。
顯然,從某個匹配的常量表達式開始一直向下執(zhí)行的流程并不符合大多數(shù)多分支選擇編程的需求,一般需要像if-else-if語句那樣的執(zhí)行流程。使用Java語言的break語句可以跳出switch語句,即在switch語句中匹配的常量表達式所跟隨的語句序列最后加上“break;”語句,就能夠直接使執(zhí)行流程轉(zhuǎn)到switch語句塊之后執(zhí)行。switch語句的常用形式是:

例如,在例3.4設計的四則運算計算器程序的calcOpr方法中使用了if-else-if語句結(jié)構(gòu)針對用戶選擇的+、-、*、/ 4種情況進行判斷,當光標懸停到NetBeans IDE的第一個if語句的行號處時,出現(xiàn)即時幫助框,建議用switch替換if鏈(見圖3.12)。單擊該行號處的圖標,單擊
指令,程序的結(jié)構(gòu)會替換為switch語句(見圖3.13)。
從圖3.12和圖3.13可以看出,switch語句比相同程序邏輯的if-else-if鏈更清晰易懂,程序代碼也更加簡潔。
在使用switch語句時還應注意以下幾點。
(1)在case后的各常量表達式的值不能相同,否則會出現(xiàn)錯誤。
(2)在case后,允許有多個語句,可以不用{}括起來。
(3)default子句可以省略不用。

圖3.12 NetBeans IDE的即時幫助框及if-else-if鏈

圖3.13 if鏈的對應switch語句
- JavaScript全程指南
- SoapUI Cookbook
- What's New in TensorFlow 2.0
- R語言游戲數(shù)據(jù)分析與挖掘
- 碼上行動:零基礎學會Python編程(ChatGPT版)
- Unity Shader入門精要
- SQL Server 2016數(shù)據(jù)庫應用與開發(fā)
- 青少年學Python(第2冊)
- Java程序設計實用教程(第2版)
- 金融商業(yè)數(shù)據(jù)分析:基于Python和SAS
- 例說FPGA:可直接用于工程項目的第一手經(jīng)驗
- 量子計算機編程:從入門到實踐
- Flask開發(fā)Web搜索引擎入門與實戰(zhàn)
- Koa與Node.js開發(fā)實戰(zhàn)
- Oracle SOA Suite 12c Administrator's Guide