switch关键字相信大家应该都不陌生吧,在JDK1.6版本中,能用于switch判断的变量类型有:byte、short、int、char,还有枚举类型,但是在JDK1.7后添加了对String类型的判断。接下来说说switch关键字的语法规则吧。
switch(变量) {
case 常量值1:
//逻辑1;
break;
case 常量值2:
//逻辑2;
break;
default:
//逻辑3;
}
解释:switch是切换的意思,case是例子,事实的意思。那根据什么切换呢?就是switch中的变量,变量是多少,就会匹配到具体的case中,只要匹配到了某一个case,就会一直执行到方法结束,这是switch的特性。
但是需要注意的是:case中是不能写变量的,必须是常量。举例:请你输入隔壁老王的成绩,判断他成绩的合格度。
部分代码示例:
import java.util.Scanner;
class Demo01{
public static void main(String[] args){
System.out.println("请输入隔壁老王的成绩:");
Scanner scanner = new Scanner(System.in);
int grades = scanner.nextInt();
int s = grades/10;
switch(s){
case 9 :System.out.println("合格度:优秀。同时老王的爸爸说:好孩子,考的好,爸奖励你一辆车~");
}
}
}
这段代码只展示了一种合格度,即优秀,此时从键盘输入常量90~99之间的数字,他都会输出"好孩子,考的好,爸奖励你一辆车~"但如果此时将代码中的9改为变量:s>=10 && s <=99 ,代码就会出现编译错误,如图所示。
case语句中少写了break,编译不会报错,但是会一直执行之后所有case条件下的语句而不再判断,直到default语句
若果没有符合条件的case就执行default下的代码块,default并不是必须的,也可以不写