官术网_书友最值得收藏!

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è)程序顯得更容易閱讀。

主站蜘蛛池模板: 淮滨县| 嘉善县| 沾化县| 钦州市| 西盟| 江源县| 京山县| 轮台县| 万荣县| 长治县| 开鲁县| 阿尔山市| 徐汇区| 凤凰县| 梅州市| 石门县| 阳信县| 唐山市| 昭觉县| 威远县| 盐津县| 景德镇市| 马山县| 余干县| 景谷| 新野县| 闽侯县| 阳东县| 侯马市| 尼木县| 福建省| 家居| 海口市| 永嘉县| 安化县| 长子县| 汉寿县| 蒲城县| 东乌珠穆沁旗| 彭水| 滁州市|