在 Java7 之前,switch 语句用于基于不同的条件执行不同的代码块。以下是 Java switch 语句的基本语法:
switch (表达式) {
case 常量值 1:
// 执行的代码块 1
break;
case 常量值 2:
// 执行的代码块 2
break;
// 可以有更多的 case 语句
default:
// 当表达式的值与所有 case 常量值都不匹配时执行的代码块
}其中,
表达式:表达式的结果通常是整数类型(如 byte 、 short 、 int 、 char )、枚举类型。
常量值:每个 case 后面跟着的“常量值”必须是与表达式类型兼容的唯一值。
break 语句:break 语句用于在执行完相应的 case 代码块后跳出 switch 语句。如果没有 break ,程序会继续执行下一个 case 代码块,直到遇到 break 或者 switch 语句结束。
default 语句:default 部分是可选的,当表达式的值与所有的 case 常量值都不匹配时,会执行 default 部分的代码。
以下是一个示例:
int day = 2;
switch (day) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
default:
System.out.println("未知的日子");
}从 Java 7 开始,switch 语句可以使用字符串,例如:
package com.hxstrive.jdk7.switchs;
/**
* JDK7 switch 语句支持字符串
* @author hxstrive.com
*/
public class SwitchDemo1 {
public static void main(String[] args) {
switchOnStrings("L");
switchOnStrings("S");
switchOnStrings("T");
//结果:
//size is large
//size is small
//size is not S,M,L or XL: T
}
private static void switchOnStrings(String size) {
switch(size) {
case "S" : { System.out.println("size is small"); break; }
case "M" : { System.out.println("size is medium"); break; }
case "L" : { System.out.println("size is large"); break; }
case "XL" : { System.out.println("size is X-large"); break; }
default : { System.out.println("size is not S,M,L or XL: " + size); }
}
}
}