Java switch 语句
Java switch 语句 允许 变量,用于测试与值列表是否相等。每个值称为一个 case,并且针对每个 case 检查正在打开的变量。
当多个 ifelse 语句 是必需的。它可以有多个代码块以及 case 值,并根据匹配的 case 值执行多个代码块之一。
语法
Java switch 语句的语法是
switch(expression) {
case value :
// 语句
break; //可选
case value :
// 语句
break; //可选
// 您可以有任意数量的 case 语句。
default : //可选
// 语句
}
规则
以下规则适用于switch语句
变量switch 语句中使用的只能是整数、可转换整数(字节、短整型、字符)、字符串和枚举。
switch 中可以有任意数量的 case 语句。每个 case 后跟要比较的值和一个冒号。
case 的值必须与 switch 中的变量具有相同的数据类型,并且必须是常量或文字。
当打开的变量等于 case 时,该 case 后面的语句将执行,直到出现 break 语句
当到达 break 语句时,switch 终止,控制流跳转到 switch 语句后面的下一行。
并非每个case都需要包含中断。如果没有出现中断,控制流将通过到后续case,直到到达中断。
A 开关 语句可以有一个可选的默认情况,它必须出现在 switch 的末尾。当所有情况都不成立时,可以使用默认情况来执行任务。默认情况下不需要中断。
流程图
示例
示例 1
在此示例中,我们展示了 switch 语句的使用,其中 case 基于字符。我们创建了一个可变等级。根据等级值,检查每个case。如果满足条件并且存在break语句,则不检查以下情况。
public class Test {
public static void main(String args[]) {
char grade = 'C';
switch(grade) {
case 'A' :
System.out.println("Excellent!");
break;
case 'B' :
case 'C' :
System.out.println("Well done");
break;
case 'D' :
System.out.println("You passed");
case 'F' :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}
输出
使用各种命令行参数编译并运行上述程序。这将产生以下结果
Well done
Your grade is C
示例 2
在此示例中,我们将展示 switch 语句的使用,其中 case 基于 int。我们创建了一个可变等级。根据等级值,检查每个case。如果满足条件并且存在break语句,则不检查以下情况。
public class Test {
public static void main(String args[]) {
int grade = 3;
switch(grade) {
case 1 :
System.out.println("Excellent!");
break;
case 2 :
case 3 :
System.out.println("Well done");
break;
case 4 :
System.out.println("You passed");
case 5 :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}
输出
使用各种命令行参数编译并运行上述程序。这将产生以下结果
Well done
Your grade is 3
示例 3
在此示例中,我们将展示 switch 语句的使用,其中 case 基于字符串。我们创建了一个可变等级。根据等级值,检查每个case。如果满足条件并且存在break语句,则不检查以下情况。
public class Test {
public static void main(String args[]) {
String grade = "C";
switch(grade) {
case "A" :
System.out.println("Excellent!");
break;
case "B" :
case "C" :
System.out.println("Well done");
break;
case "D" :
System.out.println("You passed");
case "F" :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}
输出
使用各种命令行参数编译并运行上述程序。这将产生以下结果
Well done
Your grade is C
default关键字
default关键字用于在以下情况下指定代码块:没有匹配的大小写值。 default 关键字是可选的,但应该在 switch case 语句中使用。