Java switch语句的用法(新手必看)
在 Java 语言中,除了嵌套的 if 语句可以实现多分支结构外,switch 语句也可以实现多分支结构,也称为开关语句。
switch 语句是多分支的开关语句。它的一般格式定义如下(其中 break 语句是可选的):
switch 语句有如下几个规则:
【实例】利用 switch 语句处理表达式中的运算符,并输出运算结果。
如果 case 语句块中没有 break 语句,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
【实例】case 后面不带 break 的例子。
switch 语句是多分支的开关语句。它的一般格式定义如下(其中 break 语句是可选的):
switch (表达式) { case 值1: 语句块1; break; case 值2: 语句块2; break; ... case 值n: 语句块n; break; default: 语句块n+1; }其中,switch、case、break 是 Java 的关键字。switch 语句的功能是判断表达式的值与一系列值中某个值是否相等,每个值称为一个分支。
switch 语句有如下几个规则:
- switch 后面括号中表达式的值可以是 byte、short、int 或者 char。从 Java 7 开始,表达式的值也可以是字符串 String 类型;
- switch 语句可以拥有多个 case 语句,每个 case 后面跟一个要比较的值和冒号;
- case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量;
- 当变量的值与 case 语句的值相等时,case 语句之后的语句开始执行,直到 break 语句出现才会跳出 switch 语句;
- 当遇到 break 语句时,switch 语句终止。程序跳转到 switch 语句后面的语句执行。case 语句不一定要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句;
- switch 语句可以包含一个 default 分支,该分支一般是 switch 语句的最后一个分支(可以在任何位置,但建议在最后一个)。default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句。
【实例】利用 switch 语句处理表达式中的运算符,并输出运算结果。
public class SwitchTest { public static void main(String[] args) { int x = 6; int y = 9; char op = '+'; // 运算符 switch (op) { // 根据运算符,执行相应的运算 case '+': // 输出 x+y System.out.println("x+y=" + (x + y)); break; case '-': // 输出 x-y System.out.println("x-y=" + (x - y)); break; case '*': // 输出 x*y System.out.println("x*y=" + (x * y)); break; case '/': // 输出 x /y System.out.println("x/y=" + (x / y)); break; default: System.out.println("输入的运算符不合适!"); } } }程序执行结果为:
x+y=15
如果 case 语句块中没有 break 语句,匹配成功后,从当前 case 开始,后续所有 case 的值都会输出。
【实例】case 后面不带 break 的例子。
public class SwitchTest1 { public static void main(String[] args) { int i = 1; switch(i) { case 0: System.out.println("0"); case 1: System.out.println("1"); case 2: System.out.println("2"); default: System.out.println("default"); } } }程序运行结果为:
1
2
default