- 零基礎(chǔ)學(xué)Java第2版
- 陳潔
- 833字
- 2018-12-31 19:34:36
4.5 分支語(yǔ)句
在講述條件判斷語(yǔ)句時(shí),曾經(jīng)提到當(dāng)判斷條件過多時(shí),可以使用分支語(yǔ)句來編寫。分支語(yǔ)句的基本結(jié)構(gòu)是:
01 switch(整數(shù)因子) 02 { 03 case 整數(shù)值1:語(yǔ)句;break; 04 case 整數(shù)值2:語(yǔ)句;break; 05 case 整數(shù)值3:語(yǔ)句;break; 06 case 整數(shù)值4:語(yǔ)句;break; 07 case 整數(shù)值5:語(yǔ)句;break; 08 ... 09 default:語(yǔ)句; 10 }
同樣,先看看分支語(yǔ)句的流程圖,如圖4.9所示。
如果仍然使用條件判斷語(yǔ)句,整個(gè)程序段會(huì)顯得層次過多,程序顯得過于復(fù)雜,不易閱讀。

圖4.9 分支語(yǔ)句流程圖
【實(shí)例4.19】下面通過實(shí)際程序段,來了解條件判斷語(yǔ)句和分支語(yǔ)句的區(qū)別所在。
01 public class control16 02 { 03 public static void main(String[] args) 04 { 05 int i=8; 06 if(i==1) 07 {System.out.println("是一月份");} 08 if(i==2) 09 {System.out.println("是二月份");} 10 if(i==3) 11 {System.out.println("是三月份");} 12 if(i==4) 13 {System.out.println("是四月份");} 14 if(i==5) 15 {System.out.println("是五月份");} 16 if(i==6) 17 {System.out.println("是六月份");} 18 if(i==7) 19 {System.out.println("是七月份");} 20 if(i==8) 21 {System.out.println("是八月份");} 22 if(i==9) 23 {System.out.println("是九月份");} 24 if(i==10) 25 {System.out.println("是十月份");} 26 if(i==11) 27 {System.out.println("是十一月份");} 28 if(i==12) 29 {System.out.println("是十二月份");} 30 } 31 }
【代碼說明】第6~29行是12個(gè)條件語(yǔ)句if。這是判斷月份,如果要判斷的條件更多,是不是需要寫更多的if語(yǔ)句呢?這說明判斷條件非常多時(shí),使用if語(yǔ)句顯得層次有些混亂。
【運(yùn)行效果】
是八月份
這個(gè)程序段看得不是很舒服,并且有點(diǎn)雜亂,下面再看看使用分支語(yǔ)句編寫的程序段是什么樣子。先來繪制一下流程圖,如圖4.10所示。

圖4.10 輸出一年月份程序流程圖
【實(shí)例4.20】為了便于瀏覽,以上的圖只繪制了1月份到6月份的流程。下面是這個(gè)程序的具體代碼。
01 public class control17 02 { 03 public static void main(String[] args) 04 { 05 int i=8; 06 switch(i) 07 { 08 case 1: System.out.println("是一月份");break; 09 case 2: System.out.println("是二月份");break; 10 case 3: System.out.println("是三月份");break; 11 case 4: System.out.println("是四月份");break; 12 case 5: System.out.println("是五月份");break; 13 case 6: System.out.println("是六月份");break; 14 case 7: System.out.println("是七月份");break; 15 case 8: System.out.println("是八月份");break; 16 case 9: System.out.println("是九月份");break; 17 case 10: System.out.println("是十月份");break; 18 case 11: System.out.println("是十一月份");break; 19 case 12: System.out.println("是十二月份");break; 20 default: System.out.println("fault"); 21 } 22 } 23 }
【代碼說明】第6~21行是完整的分支語(yǔ)句,每個(gè)條件通過case來設(shè)置,條件執(zhí)行完后,通過break語(yǔ)句來中斷。第20行的default表示上述條件都不滿足時(shí),則執(zhí)行它設(shè)置的輸出。
【運(yùn)行效果】
是八月份
說明
通過觀察上面的程序段,會(huì)發(fā)現(xiàn)使用分支語(yǔ)句,整個(gè)程序顯得更容易閱讀。
推薦閱讀
- Flask Web全棧開發(fā)實(shí)戰(zhàn)
- UML和模式應(yīng)用(原書第3版)
- Learning Apex Programming
- Visual FoxPro程序設(shè)計(jì)教程
- Building a RESTful Web Service with Spring
- C#程序設(shè)計(jì)教程
- H5頁(yè)面設(shè)計(jì):Mugeda版(微課版)
- 大模型RAG實(shí)戰(zhàn):RAG原理、應(yīng)用與系統(tǒng)構(gòu)建
- Visualforce Developer’s guide
- 機(jī)器學(xué)習(xí)微積分一本通(Python版)
- 后臺(tái)開發(fā):核心技術(shù)與應(yīng)用實(shí)踐
- Building Dynamics CRM 2015 Dashboards with Power BI
- Java程序設(shè)計(jì)基礎(chǔ)(第6版)
- HTML5移動(dòng)Web開發(fā)
- Python預(yù)測(cè)分析實(shí)戰(zhàn)