Java学习——14基本结构(二)switch语句
if语句在分支少时比较方便。
但如果分支多,并且多个分支同级别就由一个表达式的取值决定时,if语句就会显得比较繁杂。
switch语句即是根据表达式的取值决定控制程序的多路分支流程。
1、 语法格式
switch(表达式){
case常量表达式1:
语句序列1;
【break;】
case 常量表达式2:
语句序列2;
【break;】
……
case常量表达式n:
语句序列n;
【break;】
【default:语句序列;】
}
2、 执行流程
Switch语句的执行流程为:将<表达式>值按照从上至下的顺序依次与<常量表达式>的结果进行比较:
当<表达式>的值与某个常量值相等时,执行其后的<语句序列>,直到遇到break或switch语句执行完;
若没有与表达式值相等的常量值,执行default语句;
如果没有default语句,则不执行。
3、简单例题
题目:键盘输入0~6几个数字,分别对应星期一至星期日。
分析:本例可以用if语句完成,但是需要7个判断,为每一个数字从0,1,2,3,4,5到6写一个if语句,比较麻烦。读者可自写。
因为是由键盘输入的数字来进行选择,所以可以用switch语句。
完整代码如下:
importjava.util.*;
publicclassSwitch {
publicstaticvoidmain(String args[]){
Scanner sc=newScanner(System.in);
for(inti=1;i>0;){
System.out.println("请输入0~6之间的数字:");
intn=sc.nextInt();
switch(n){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 0:
System.out.println("星期日");
break;
default:
System.out.println("输入不合法");
}
}
}
}
其运行结果如
其运行结果如下:
4.break语句。
break为结束当前switch语句之意。如果不加break,程序会接着执行后续语句。如图所示: