Java switch使用

Java switch使用

在这里插入图片描述

涉及关键字:
switch: 表达式
变量类型可以是: byte、short、int 或者 char。从 Java SE 7 开始,switch 支持字符串 String 类型,
case: 分支语句,需要指定当前分支的常量或者字面量
①可以拥有多个 case 语句。每个 case 后面跟一个要比较的值和冒号,每一个case代表一个分支
②case 语句中的值的数据类型必须与变量的数据类型相同,而且只能是常量或者字面量,且不能重复
字面量:字面量是编程语言中表示固定值的符号或记号(token)
default: 默认分支
default 在没有 case 语句的值和变量值相等的时候执行。default 分支不需要 break 语句
break: 终止switch
case 语句不必须要包含 break 语句。如果没有 break 语句出现,程序会继续执行下一条 case 语句,直到出现 break 语句

①case击穿
②default的作用示例
③break的作用示例
④default+break
⑤多个case

①case击穿

public static void main(String[] args) {

        a(1);
        System.out.println("----------------------------------");
        a(2);
        System.out.println("----------------------------------");
        a(0);
}

private static void a(int a) {
        switch (a){
            case 1:
                System.out.println("aaaa11");
            case 2:
                System.out.println("aaaa22");
        }
    }

在这里插入图片描述

②default的作用示例

public static void main(String[] args) {

        b(0);
        System.out.println("----------------------------------");
        b(1);
        System.out.println("----------------------------------");
        b(2);
}

private static void b(int b) {
        switch (b){
            case 1:
                System.out.println("bbbb11");
            case 2:
                System.out.println("bbbb22");
            default:
                System.out.println("bbbb-default");
        }
    }

在这里插入图片描述

③break的作用示例

public static void main(String[] args) {

        c(1);
        System.out.println("----------------------------------");
        c(2);
        System.out.println("----------------------------------");
        c(0);
}
private static void c(int c) {
        switch (c){
            case 1:
                System.out.println("cccc11");
                break;
            case 2:
                System.out.println("cccc22");
            default:
                System.out.println("cccc-default");
        }
    }

在这里插入图片描述

④default+break

public static void main(String[] args) {
        d(1);
        System.out.println("----------------------------------");
        d(2);
        System.out.println("----------------------------------");
        d(0);
}

private static void d(int d) {
        switch (d){
            case 1:
                System.out.println("dddd11");
                break;
            default:
                System.out.println("dddd-default");
                break;
            case 2:
                System.out.println("dddd22");
                break;

        }
    }

在这里插入图片描述

public static void main(String[] args) {
        f(1);
        System.out.println("----------------------------------");
        f(2);
        System.out.println("----------------------------------");
        f(0);
}
private static void f(int f) {
        switch (f){
            case 1:
                System.out.println("ffff11");
                break;
            default:
                System.out.println("ffff-default");
            case 2:
                System.out.println("ffff22");
                break;

        }
    }

在这里插入图片描述

⑤多个case

public static void main(String[] args) {
        e(1);
        System.out.println("----------------------------------");
        e(2);
        System.out.println("----------------------------------");
        e(0);
        System.out.println("----------------------------------");
        e(3);
}
private static void e(int e) {
        switch (e){
            case 1:
            case 2:
                System.out.println("eeee11");
                break;
            case 3:
            case 4:
                System.out.println("eeee22");
                break;
            default:
                System.out.println("eeee-default");
                break;
        }
    }

在这里插入图片描述
综上:
1、正常情况下,针对不是最后一个的case分支,均需要配合break使用来终止switch语句,防止case击穿
2、多个case可以使用同一个分支,详见”⑤多个case“
3、有default分支的话,位置最好放在最后,此时不需要添加break;如果放在中间的位置,则需要配合break使用,用以终止switch语句。详见” ④default+break“

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值