上QQ阅读APP看书,第一时间看更新
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.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.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表示上述条件都不满足时,则执行它设置的输出。
【运行效果】
是八月份
说明
通过观察上面的程序段,会发现使用分支语句,整个程序显得更容易阅读。