Java 教程
Java - switch语句
上一页
下一页
Java switch语句
Java 的switch语句允许测试一个变量是否与一系列值相等。每个值称为一个case,系统会检查正在切换的变量是否与每个case匹配。
当需要多个if-else语句时,可以使用switch语句。它可以包含多个代码块以及case值,并根据匹配的case值执行多个代码块中的一个。
语法
Java switch语句的语法如下:
switch(expression) {
case value :
// Statements
break; // optional
case value :
// Statements
break; // optional
// You can have any number of case statements.
default : // Optional
// Statements
}
规则
以下规则适用于switch语句:
在switch语句中使用的变量只能是整数、可转换为整数的类型(byte、short、char)、字符串和枚举。
switch语句中可以包含任意数量的case语句。每个case后跟要比较的值和一个冒号。
case的值必须与switch语句中的变量的数据类型相同,并且必须是常量或字面量。
当正在切换的变量等于某个case时,该case后面的语句将执行,直到遇到break语句。
遇到break语句时,switch语句将终止,控制流跳转到switch语句后面的下一行。
并非每个case都需要包含break。如果没有break,控制流将贯穿到后续的case,直到遇到break。
switch语句可以有一个可选的default case,它必须出现在switch的末尾。default case可以在没有任何case为真时执行任务。default case不需要break。
流程图
示例
示例1
在这个例子中,我们展示了switch语句的用法,其中case基于char类型。我们创建了一个变量grade。根据grade的值,检查每个case。如果case满足条件并且存在break语句,则不会检查后续的case。
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类型。我们创建了一个变量grade。根据grade的值,检查每个case。如果case满足条件并且存在break语句,则不会检查后续的case。
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基于String类型。我们创建了一个变量grade。根据grade的值,检查每个case。如果case满足条件并且存在break语句,则不会检查后续的case。
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关键字用于在没有case值匹配时指定一个代码块。default关键字是可选的,但在switch case语句中应该使用它。
java_decision_making.htm
打印页面
上一页 下一页
广告