switch语句用于测试变量与值列表的相等性。 每个值称为一个case,并且针对每种情况检查对应的变量值。
语法
增强for循环的语法是 -
switch(expression) {
case value :
// 执行语句块
break; // 可选
case value :
// 执行语句块
break; // 可选
// 可以拥有任意数量的 case 语句。
default : // 可选
// 执行语句块
}
以下是适用于switch语句的规则 -
switch语句中使用的变量只能是整数,可转换为整数(如:byte,short,char),字符串和枚举类型。- 可以在
switch中包含任意数量的case语句。每个case后跟要与之比较的值和冒号。 case的值必须与switch中的变量具有相同的数据类型,并且必须是常量或文字。- 当
switch的变量等于case中的值时,该case之后的语句将一直执行,直到达到break语句。 - 当达到
break语句时switch终止,控制流跳转到switch语句块后面的下一行代码。 - 不是每个
case都需要包含break语句。 如果没有指定break语句,则控制流将落到后续case中,直到达到break语句。 switch语句可以有一个可选的default,它必须出现在switch语句的末尾。 当没有任何case匹配时,执行default中的代码块。default中不需要break语句。

示例1
public class SwitchExample {
public static void main(String[] args) {
// 为switch表达式声明一个变量
int number = 20;
// Switch表达式
switch (number) {
// Case语句
case 10:
System.out.println("10");
break;
case 20:
System.out.println("20");
break;
case 30:
System.out.println("30");
break;
// Default case statement
default:
System.out.println("Not in 10, 20 or 30");
}
}
}
执行上面示例代码,得到以下结果:
20
示例2
public class SwitchExample {
public static void main(String args[]) {
// char grade = args[0].charAt(0);
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("相当优秀!");
break;
case 'B':
case 'C':
System.out.println("一般优秀");
break;
case 'D':
System.out.println("还不错");
case 'F':
System.out.println("好像不太行");
break;
default:
System.out.println("无效级别");
}
System.out.println("您的级别是:" + grade);
}
}
执行上面示例代码,得到以下结果:
一般优秀
您的级别是:B
上一篇:
java中方法重载和方法重写的区别
下一篇:无
