Java switch 语句
switch 也是一种条件控制语句, 与 if 和 if else 语句不同,switch 语句可以具有多条执行路径. switch 适用于byte,short,char 和 int 基本数据类型. 它还适用于枚举类型, String 类以及一些包装了某些基本类型的特殊类, 如: Character,Byte,Short 和 Integer.
switch 的基本语法如下:
switch(表达式) { case 常量表达式1: break; case 常量表达式2: case 常量表达式3: break; default: break; }
要使用switch语句我们需要注意以下几点:
- switch 要计算一个表达式, 通过这个表达式的值得来进行路径选择, 根据值进入不同的 case(情况). 所有的情况都不符合, 则进入 default (默认)的情况.
- 所有的 case 后面都必须是一个与switch中的表达式类型一致的常量表达式, 也就是说在执行 switch 的过程中, case 的值是不允许发生变化的.
- case 和 default 都不是必须的存在的, 也就是说可以没有case, 也可以没有 default, 甚至可以都没有, 只有 switch (虽然这也没有什么意义).
- break (打断) 在 switch 中负责结束 case , 它表示了分支的结束, 但是并不是每个 case 都必须结束, 因为会出现多个 case 共用一个分支的情况.
- 我们要再次强调的是 switch 只支持 整型基础类及其包装类, 字符串 以及 enum (枚举类型), 其他类型包括 float, double, boolean 都是不允许的.
在我们对switch有所了解之后, 我们就可以进行代码的编写了, 以下我们将通过一个实例来看看如何使用 switch :
class Yi21Runner { public static void main(String[] args) { String score = "A"; switch(score) { case "A": System.out.println("您的成绩为优秀."); break; case "B": System.out.println("您的成绩为良好."); break; case "C": System.out.println("您的成绩为及格."); break; case "": System.out.println("未能查到您的成绩."); break; case "D": default: System.out.println("您的成绩不合格."); break; } } }
上面我们通过得分来评判成绩如何, A是优秀, B是良好, C是及格, D以及其他的为不及格, 如果是个空字符串就表示成绩还没有出来, 或者查询不到.
其中 D 和 default (默认, 即其他的) 共同了一个分支.
在这里我们输入的成绩是A, 则会输出以下结果:
您的成绩为优秀.
您也可以修改分数来看看是否会落到对应的分支中.
以上就是 switch 分支的全部内容了, 接下来请看: Java 的循环控制语句