- Java教程
- Java - 主页
- Java - 概述
- Java - 环境设置
- Java - 基本语法
- Java - 变量类型
- Java - 基本数据类型
- Java - 基本运算符
- Java 控制语句
- Java - 循环控制
- Java - 决策
- Java - 如果-否则
- Java-开关
- Java - For 循环
- Java - For-Each 循环
- Java - While 循环
- Java - do-while 循环
- Java - 中断
- Java - 继续
- 面向对象编程
- Java - 对象和类
- Java - 方法
- Java - 构造函数
- Java - 访问修饰符
- Java-继承
- Java-多态性
- Java - 重写
- Java-抽象
- Java-封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java 数据类型
- Java - 字符
- Java 文件处理
- Java - 文件和 I/O
- Java 错误与异常
- Java - 异常
- Java多线程
- Java-多线程
- Java同步
- Java-同步
- Java-线程间通信
- Java-线程死锁
- Java-线程控制
- Java网络
- Java-网络
- Java-URL 处理
- Java - 泛型
- Java集合
- Java - 集合
- Java列表接口
- Java - 列表接口
- Java队列接口
- Java - 队列接口
- Java地图接口
- Java - 地图接口
- Java - SortedMap 接口
- Java设置接口
- Java - 设置接口
- Java - SortedSet 接口
- Java数据结构
- Java - 数据结构
- Java-枚举
- Java 集合算法
- Java - 集合
- Java - 迭代器
- Java - 比较器
- Java杂项
- Java - 正则表达式
- Java-序列化
- Java - 发送电子邮件
- Java - Applet 基础知识
- Java - 文档
- Java 有用资源
- Java - 问题与解答
- Java - 快速指南
- Java - 有用的资源
- Java - 讨论
- Java - 示例
Java - switch 语句
switch语句允许测试变量是否与值列表相等。每个值称为一个情况,并且针对每种情况检查正在打开的变量。
句法
增强型 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 的值必须与 switch 中的变量具有相同的数据类型,并且必须是常量或文字。
当打开的变量等于一个 case 时,该 case 后面的语句将执行,直到到达break语句。
当到达break语句时,switch终止,并且控制流跳转到switch语句之后的下一行。
并非每个案例都需要包含中断。如果没有出现中断,控制流将进入后续案例,直到达到中断为止。
switch语句可以有一个可选的 default case,它必须出现在 switch 的末尾。当所有情况都不成立时,可以使用默认情况来执行任务。默认情况下不需要中断。
流程图
实施例1
在此示例中,我们展示了 switch 语句的使用,其中 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。我们创建了一个可变等级。根据等级值,检查每个案例。如果满足某个情况并且存在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 基于字符串。我们创建了一个可变等级。根据等级值,检查每个案例。如果满足某个情况并且存在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
