Java 的多选择结构除了if elseif elseswitch case语句也能实现多选择。

能用于switch判断的类型有:byte、short、int、char(JDK1.6),还有枚举类型,但从JDK1.7后添加了对String类型的判断,同时case中的匹配值的数据类型必须与switch中的数据类型相同,而且只能是 常量 或者 字面常量

casedefault都是switch的分支语句,case语句中 不带break,编译不会报错,但会跳过判断而直接输出case语句块下的内容,直到出现break或者执行到default语句结束switch所有分支语句。

如果没有符合条件的case就执行default下的代码块,default并不是必须的,也可以不写,default不必带上break。

Java流程控制05 - switch选择结构详解

示例:

package com.zctou.structure;

public class SwitchDemo01 {
    public static void main(String[] args) {
        // switch case多选择结构测试
        char grade = 'Z' ;

        //
        switch (grade) {
            case 'A': //case 语句中的值的数据类型必须与变量相同,而且只能是常量或者字面常量
                System.out.println("优秀");
                break; //break; 是可选的
            case 'B': //这 case里没带break; 会出现case穿透现象,无视后面的case匹配,全部输出下一个break前的内容
                System.out.println("良好");
                //break;
            case 'C':
                System.out.println("及格");
                //break;
            case 'D':
                System.out.println("不及格");
                break;
            case 'E':
                System.out.println("回炉再造");
                break;
            default:
                System.out.println("你是另外一种\"优秀\"");

        }
    }
}

输出:

//grade = 'A'时,
优秀
//grade = 'B'时,输出了 case'B','C','D'的内容,直到case'D'的break出现,这就是case穿透。
良好
及格
不及格 
//grade = 'Z'时,全部case匹配不成功,输出了default的内容
你是另外一种"优秀"