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语句我们需要注意以下几点:

  1. switch 要计算一个表达式, 通过这个表达式的值得来进行路径选择, 根据值进入不同的 case(情况). 所有的情况都不符合, 则进入 default (默认)的情况.
  2. 所有的 case 后面都必须是一个与switch中的表达式类型一致常量表达式, 也就是说在执行 switch 的过程中, case 的值是不允许发生变化的.
  3. casedefault 都不是必须的存在的, 也就是说可以没有case, 也可以没有 default, 甚至可以都没有, 只有 switch (虽然这也没有什么意义).
  4. break (打断) 在 switch 中负责结束 case , 它表示了分支的结束, 但是并不是每个 case 都必须结束, 因为会出现多个 case 共用一个分支的情况.
  5. 我们要再次强调的是 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 的循环控制语句