4.5 分支语句

在讲述条件判断语句时,曾经提到当判断条件过多时,可以使用分支语句来编写。分支语句的基本结构是:


01 switch(整数因子)

02 {

03 case整数值1:语句;break;

04 case整数值2:语句;break;

05 case整数值3:语句;break;

06 case整数值4:语句;break;

07 case整数值5:语句;break;

08 ……

09 default:语句;

10 }


同样,先看看分支语句的流程图,如图4.9所示。

如果仍然使用条件判断语句,整个程序段会显得层次过多,程序显得过于复杂,不易阅读。

4.5 分支语句 - 图1

图 4.9 分支语句流程图

【实例4.19】下面通过实际程序段,来了解条件判断语句和分支语句的区别所在。


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个条件语句if。这是判断月份,如果要判断的条件更多,是不是需要写更多的if语句呢?这说明判断条件非常多时,使用if语句显得层次有些混乱。

【运行效果】


是八月份


这个程序段看得不是很舒服,并且有点杂乱,下面再看看使用分支语句编写的程序段是什么样子。先来绘制一下流程图,如图4.10所示。

4.5 分支语句 - 图2

图 4.10 输出一年月份程序流程图

【实例4.20】为了便于浏览,以上的图只绘制了1月份到6月份的流程。下面是这个程序的具体代码。


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行是完整的分支语句,每个条件通过case来设置,条件执行完后,通过break语句来中断。第20行的default表示上述条件都不满足时,则执行它设置的输出。

【运行效果】


是八月份


说明 通过观察上面的程序段,会发现使用分支语句,整个程序显得更容易阅读。