switch在java枚举中的用法

家电修理 2023-07-16 19:17www.caominkang.com电器维修

在进行程序控制时,使用sitch的数据类型有所限制,其中case后面的条件也有一定的要求。结合枚举的方法后,sitch的使用范围得到了扩大,在操作上也趋向于简洁化。下面我们就sitch语法进行简单回顾,然后就在java枚举实例的使用展开分析,体验其用法的变化。

1.sitch语法

sitch(表达式){
    case 值1:
         语句;
        break;
    case 值2:
        语句;
        break;
        
    .......
    default:
       语句;
}

case 值case翻译过来就是情况、实例的意思,那么这句可以理解为当sitch(表达式)的结果为case中的值时,则执行该case下的语句。

2.sitch在枚举的实例

Java1.5新增enum关键字的,也扩大了sitch的语句使用范围。Java1.5之前,sitch中的值只能是简单数据类型,比如int、byte、short、char, 有了枚举类型之后,就可以使用枚举类的对象了。

在sitch表达式中使用enum定义的枚举类的对象作为表达式时, case子句可以直接使用枚举对象的名字, 无需添加枚举类作为限定。这样一来,程序的控制选择就变得更加的方便,看下面的例子

public enum  WeekDay {
    // 定义一周七天的枚举类型
    Monday,Tuesday, Wednesday ,Thursday,Friday,Saturday,Sunday;
}
 
class Test{
    public static void getDay(WeekDay eekDay){
        sitch (eekDay){
            case Monday:
                System.out.println("Today is Monday");
                break;
            case Tuesday:
                System.out.println("Today is Tuesday");
                break;
            case Wednesday:
                System.out.println("Today is Wednesday");
                break;
            case Thursday:
                System.out.println("Today is Thursday");
                break;
            case Friday:
                System.out.println("Today is Friday");
                break;
            case Saturday:
                System.out.println("Today is Saturday");
                break;
            case Sunday:
                System.out.println("Today is Sunday");
                break;
            default:
                System.out.println("data error");
        }
    }
 
    public static void main(String[] args) {
        WeekDay sunday = WeekDay.Sunday;
        getDay(sunday);
        WeekDay friday = WeekDay.Friday;
        getDay(friday);
    }
}

运行结果

对于这些枚举的日期,JVM都会在运行期构造成出一个简单的对象实例一一对应。这些对象都有唯一的identity,类似整型数值一样,sitch语句就会根据此来identity进行执行跳转。

Copyright © 2016-2025 www.caominkang.com 曹敏电脑维修网 版权所有 Power by