在 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); } } } }