本篇主要介绍Java语言中选择结构中的switch语句。
选择结构之switch
switch语句可以实现从一系列代码块中选择一段去执行。
7.1 switch语法
语法如下:
switch(表达式){
case 值1:
代码块1;
break;
case 值2:
代码块2;
break;
case 值3:
代码块3;
break;
.
.
.
case 值n:
代码块n;
break;
default:
代码块n+1;
}
其中,表达式的值只能是byte、short、char和int类型(注:jdk1.7及之后可以是String类型),执行逻辑:
首先表达式的值,然后将表达式的值与case后的值1~值n相匹配,如果,遇到匹配的值,则进入该case执行内部的代码块,遇到break后,跳出整个switch语句。如果值1~值n都不匹配,那么直接执行default的代码块n+1。
7.2 switch的应用
功能:根据用户输入的成绩(整数)来判断用户的成绩属于优、良、中、及格和不及格中的哪个等级
public static void main(String[] args){
System.out.println("请输入成绩[0~100]:");
Scanner scanner = new Scanner(System.in);
int score = scanner.nextInt();//从控制台获取用户输入的成绩
if(score<0 || score>100){
System.out.println("输入的成绩无效。");
return;
}
switch(score/10){
case 10:
case 9:
System.out.println("您的成绩为优秀!");
break;
case 8:
System.out.println("您的成绩为良好!");
break;
case 7:
System.out.println("您的成绩为中等。");
break;
case 6:
System.out.println("您的成绩为及格。");
break;
default:
System.out.println("您的成绩不及格。");
}
}
案例分析:
上述代码中,case 10并没有代码块与break,但当用户输入100时,仍然会输出“您的成绩为优秀!”,这是因为,当switch的表达式的值匹配到某个case时,则执行该case内部的代码块,如果没有遇到break,则继续执行下一个case中的代码块, 直到遇到break跳出switch语句。
下一篇将介绍Java中的循环结构。