教妹学Java(十四):switch 语句详解

简介: 教妹学Java(十四):switch 语句详解

“二哥,今天我们来学习‘switch 语句’,对吧?”


“是的,三妹。Java 中的 switch 语句用来判断变量与多个值之间的相等性。变量的类型可以是 byte、short、int、long,或者对应的包装器类型 Byte、Short、Integer、Long,以及字符串和枚举。”


来看一下 switch 语句的格式:


switch(变量) {    

case 可选值1:    

// 可选值1匹配后执行的代码;    

break;  // 该关键字是可选项

case 可选值2:    

// 可选值2匹配后执行的代码;    

break;  // 该关键字是可选项

......    

 

default: // 该关键字是可选项    

// 所有可选值都不匹配后执行的代码

}    


变量可以有 1 个或者 N 个值。


值类型必须和变量类型是一致的,并且值是确定的。


值必须是唯一的,不能重复,否则编译会出错。


break 关键字是可选的,如果没有,则执行下一个 case,如果有,则跳出 switch 语句。


default 关键字也是可选的。


画个流程图:


image.png


来个示例:


public class Switch1 {
    public static void main(String[] args) {
        int age = 20;
        switch (age) {
            case 20 :
                System.out.println("上学");
                break;
            case 24 :
                System.out.println("苏州工作");
                break;
            case 30 :
                System.out.println("洛阳工作");
                break;
            default:
                System.out.println("未知");
                break; // 可省略
        }
    }
}


输出:


上学


当两个值要执行的代码相同时,可以把要执行的代码写在下一个 case 语句中,而上一个 case 语句中什么也没有,来看一下示例:


public class Switch2 {
    public static void main(String[] args) {
        String name = "沉默王二";
        switch (name) {
            case "詹姆斯":
                System.out.println("篮球运动员");
                break;
            case "穆里尼奥":
                System.out.println("足球教练");
                break;
            case "沉默王二":
            case "沉默王三":
                System.out.println("乒乓球爱好者");
                break;
            default:
                throw new IllegalArgumentException(
                        "名字没有匹配项");
        }
    }
}


输出:


乒乓球爱好者

1

枚举作为 switch 语句的变量也很常见,来看例子:


public class SwitchEnumDemo {
    public enum PlayerTypes {
        TENNIS,
        FOOTBALL,
        BASKETBALL,
        UNKNOWN
    }
    public static void main(String[] args) {
        System.out.println(createPlayer(PlayerTypes.BASKETBALL));
    }
    private static String createPlayer(PlayerTypes playerType) {
        switch (playerType) {
            case TENNIS:
                return "网球运动员费德勒";
            case FOOTBALL:
                return "足球运动员C罗";
            case BASKETBALL:
                return "篮球运动员詹姆斯";
            case UNKNOWN:
                throw new IllegalArgumentException("未知");
            default:
                throw new IllegalArgumentException(
                        "运动员类型: " + playerType);
        }
    }
}



输出:


篮球运动员詹姆斯


相关文章
|
9月前
|
Java
Java switch case 语句
Java switch case 语句
63 0
|
9月前
|
Java
【Java从入门到精通】Java switch case 语句
【Java从入门到精通】Java switch case 语句
113 0
|
Java
Java switch case语句
Java switch case语句
121 0
|
Java
Java基础--switch case语句入门小练习
Java基础--switch case语句入门小练习
119 0
Java中的条件语句---if语句
Java中的条件语句---if语句
157 0
Java中的条件语句---if语句
Java基础方法深入理解return语句
Java基础方法深入理解return语句
|
Java
Java switch case 语句
Java switch case 语句
291 0
Java入门教程(19)——break 语句和 continue 语句
break 语句和 continue 语句的介绍及应用
109 0
Java入门教程(19)——break 语句和 continue 语句

热门文章

最新文章