switch分支语句

本文详细介绍了Java中的switch分支语句,包括其用法、搭配break或return的使用场景,以及与if......else语句的区别。示例代码展示了switch在不同情况下的执行流程,强调了switch在性能上的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

switch分支语句详述

目录

switch分支语句详述

switch语句

switch......break与switch......return

switch分支语句和if......else


switch语句

switch语句主要具有选择功能,switch中变量的数据类型有:byte,short,int,char,String,枚举。下边先通过一个例子了解一下switch语句。

int week = 1;
        switch (week){ 
            case 1: {//可加大括号,也可不加
                System.out.println("星期一");
            }
            case 2:
                System.out.println("星期二");
            case 3:
                System.out.println("星期三");
            case 4:
                System.out.println("星期四");
            case 5:
                System.out.println("星期五");
            default:
                System.out.println("ERROR");
        }

 运行结果

如果将代码改成如下例子,运行结果又会是怎样?

 int week = 1;
        switch (week){
            case 2:
                System.out.println("星期二");
            case 3:
                System.out.println("星期三");
            case 1:
                System.out.println("星期一");
            case 4:
                System.out.println("星期四");
            case 5:
                System.out.println("星期五");
            default:
                System.out.println("ERROR");
        }

运行结果

由上边例子可以知道,在默认情况下,switch分支语句会从条件成立处开始执行。

 

switch......break与switch......return

switch分支语句的作用是做出选择,当条件成立时执行某操作,所以常和break或return搭配使用

1.switch......break,break用于跳出当前switch,执行switch之后的操作

//switch......break语句
        int week = 1;
        switch (week){
            case 1:
                System.out.println("星期一");
                break;//结束当前switch
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            case 4:
                System.out.println("星期四");
                break;
            case 5:
                System.out.println("星期五");
                break;
            default:
                System.out.println("ERROR");
        }
        System.out.println("out");

运行结果

2.switch......return,return用于跳出当前方法,不再执行当前方法的后续语句

        int week=1;
        switch (week){
            case 1: 
                System.out.println("星期一");
                return;//结束当前方法
            case 2:
                System.out.println("星期二");
            case 3:
                System.out.println("星期三");
            case 4:
                System.out.println("星期四");
            case 5:
                System.out.println("星期五");
            default:
                System.out.println("ERROR");
        }
        System.out.println("out");

运行结果

如果一定会执行到return,return后语句将不能运行,编译器会认为是不可达语句,不能通过编译

        int i=3;
        switch (i){
            case 1:
                System.out.println(1);
            case 2:
                System.out.println(2);
            default:
                System.out.println("NO");
                return;//一定会执行
        }
        System.out.println("ERROR");//错误,不可达

如果return语句有不会执行的可能,则会通过编译,可以运行

        int i= 1;
        switch (i){
            case 1:
                System.out.println("@@");
            case 2:
                System.out.println(2);
                break;
            default:
                System.out.println("NO");
                return;//有不会执行的可能
        }
        System.out.println("OK");//可运行*/

 

switch分支语句和if......else

if分支语句和switch分支语句都具有选择的功能,如果选择的对象是一个具体的值,则用switch;如果是一个范围,用if。在我们编程过程中最好选用switch,因为switch的性能更高。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值