Java switch case语句

switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。

switch(expression){//变量类型可以是byte,short,int,char,String
    case value://case标签后面必须是字符串常量或字面量
        //代码语句,当case的值和变量的值相等时,会执行case里面的代码语句,直到break时跳出switch语句
        break;//遇到break,switch语句终止,case语句不是必要跟着break,没有break出现,程序会执行下一跳,直到break出现
    case calue:
        //代码语句
        break;
    //可以有很多个case语句,每个case语句后面跟着要比较的值和冒号
    default://switch语句包含一个default,一般放在最后,在没有case值和变量值相等的时候执行,不需要break
        //代码语句    
}

switch case执行时,一定会先进行匹配,匹配成功返回单签case的值,在根据是否有break判断是否跳出。

public class Test{
    public static void main(String args[]){
        char grade = 'B';

        switch(grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;  
            case 'C':
                System.out.println("及格");
                break;  
            default:
                System.out.println("不及格");
            }
            System.out.println("成绩为:"+grade);
        }
}

运行结果

良好
成绩为:良好

②如果grade为其他除了ABC以外的字符,会运行default的代码,输出结果为

public class Test{
    public static void main(String args[]){
        char grade = 'J';

        switch(grade){
            case 'A':
                System.out.println("优秀");
                break;
            case 'B':
                System.out.println("良好");
                break;  
            case 'C':
                System.out.println("及格");
                break;  
            default:
                System.out.println("不及格");
            }
            System.out.println("成绩为:"+grade);
        }
}
不及格
成绩为:不及格

③如果存在case没有break,那么在匹配的case之后的没有break的语句都会执行,一直到遇到break

public class Test{
    public static void main(String args[]){
        int i=1;

        switch(grade){
            case 0:
                System.out.println("0");
            case 1:
                System.out.println("1");
            case 2:
                System.out.println("2");
                break;  
            default:
                System.out.println("3");
            }
        }
}
1
2

 

转载于:https://www.cnblogs.com/jaci/p/11397183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值