Java switch关键字原理及用法详解
1. 概述
switch
是 Java 中的一个关键字,用于基于不同的条件执行不同的操作。它是一种比较简单却又很实用的控制语句,它包含一个或多个 case
模块,每个模块代表一个条件,当条件满足时执行相应的代码。
2. 语法结构
switch
控制语句的语法结构如下:
switch (expression) {
case value1:
// 对应操作1
break;
case value2:
// 对应操作2
break;
...
default:
// 默认操作
break;
}
解释:
switch
:Java 中的关键字,代表判断语句判断的开始。(expression)
:要判断的表达式,可以是字符串、整型、浮点型等任何类型的值。注意这里的表达式只能是所支持数据类型之一。case valueX
:表示要判断的某个条件,可以有多个,每个case
后面必须跟有一个常量值,用:
号结束。break
:用于退出switch
结构。如果break
语句没有被执行,程序会继续执行下一个case
语句中的代码。default
:当所有的case
条件都不符合时,执行的默认操作。
3. 示例说明
示例1:根据星期几输出相应的提示信息
根据创建一个方法 printWeekdayMessage(int dayOfWeek)
,根据传入的星期几(1-7)输出相应的提示信息。
public static void printWeekdayMessage(int dayOfWeek) {
switch (dayOfWeek) {
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 7:
System.out.println("今天是星期日,好好放松一下吧!");
break;
default:
System.out.println("输入错误,无法判断为星期几。");
break;
}
}
测试代码如下:
public static void main(String[] args) {
printWeekdayMessage(1);
printWeekdayMessage(3);
printWeekdayMessage(5);
printWeekdayMessage(7);
printWeekdayMessage(8);
}
输出结果如下:
今天是星期一,开始新的一周!
今天是星期三,努力工作!
今天是星期五,周末就在眼前!
今天是星期日,好好放松一下吧!
输入错误,无法判断为星期几。
示例2:计算分数段所对应的等级
根据创建一个方法 getScoreLevel(int score)
,根据传入的分数(0-100)计算出其所属的等级,返回等级名称。
public static String getScoreLevel(int score) {
String level = "";
switch (score / 10) {
case 10: case 9:
level = "优秀";
break;
case 8: case 7:
level = "良好";
break;
case 6:
level = "及格";
break;
default:
level = "不及格";
break;
}
return level;
}
测试代码如下:
public static void main(String[] args) {
System.out.println("90分的等级为:" + getScoreLevel(90));
System.out.println("78分的等级为:" + getScoreLevel(78));
System.out.println("65分的等级为:" + getScoreLevel(65));
System.out.println("42分的等级为:" + getScoreLevel(42));
}
输出结果如下:
90分的等级为:优秀
78分的等级为:良好
65分的等级为:及格
42分的等级为:不及格
4. 注意事项
switch
语句中的表达式可以是任何支持的数据类型,包括整型、字符串、枚举型等。case
之后必须跟着一个常量值,且该值不能重复。如果case
后面跟着的是变量名或者表达式(而不是常量值),则会编译错误。- 如果没有与表达式的值匹配的
case
常量值,那么控制流将会跳转到default
块(如果有该块的话,否则不做任何操作)。 - 在
case
块内放入多个语句时,可以把它们放在花括号内,但这并不是必需的。 - 每个
case
块内必须包含一个break
语句,否则将会编译错误。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java switch关键字原理及用法详解 - Python技术站