Java switch 语句
switch 语句允许将变量与一系列值进行相等性测试。每个值都称为一个 case,并且正在切换的变量将针对每个 case 进行检查。
语法
增强型 for 循环的语法如下:
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 的末尾。当没有一个 case 为真时,可以使用 default case 执行任务。default case 不需要 break。
流程图
示例
public class Test { public static void main(String args[]) { // char grade = args[0].charAt(0); 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
广告