java switch enum
引言
在Java编程中,我们经常需要根据不同的条件执行不同的代码块。Java的switch
语句是一种常用的条件语句,它允许我们根据不同的情况执行不同的代码块。在Java 5之前,switch
语句只能用于基本数据类型和字符串类型的判断,然而,引入枚举(enum)类型后,我们可以更加灵活地使用switch
语句。
枚举(enum)类型的介绍
枚举(enum)是Java中的一种特殊数据类型,它是一组预定义的常量的集合。每个枚举常量都是一个对象,它们在声明枚举类型时被定义。
以下是一个示例枚举类型的代码:
上述代码定义了一个名为Day
的枚举类型,它包含了七个枚举常量,分别代表一周的不同天。在这个示例中,Day
是一个枚举类型,MONDAY
、TUESDAY
等则是该类型的枚举常量。
switch语句的基本用法
使用switch
语句的基本语法如下:
expression
是一个表达式,它的值会与case
后面的常量进行比较。case
后面的value1
、value2
等是可能的取值,用于与expression
进行比较。- 如果
expression
的值与某个case
的值相等,那么对应的代码块将会被执行。 - 每个代码块都需要以
break
语句结束,用于退出switch
语句,否则会继续执行下一个代码块。 - 如果
expression
的值与所有case
的值都不匹配,那么会执行default
代码块(可选)。 default
代码块可以放在switch
语句的任意位置,但一般习惯放在最后。
下面我们来看一个简单的示例,演示switch
语句的基本用法:
在这个示例中,我们根据day
的值来确定对应的dayName
,并输出。
使用switch语句处理枚举类型
在Java 5之前,我们无法直接在switch
语句中使用枚举类型。然而,从Java 5开始,我们可以使用枚举类型作为switch
语句的expression
。
以下是一个使用枚举类型的switch
语句的示例:
在这个示例中,我们首先定义了一个枚举类型Day
,然后创建了一个day
变量并将其设为Day.WEDNESDAY
。接下来,我们使用switch
语句根据day
的值将其对应的英文名称赋值给dayName
,最后输出。
注解与switch语句
在使用枚举类型时,有时我们可能希望将每个枚举常量与其他的属性关联起来。在这种情况下,我们可以使用注解(Annotation)来为每个枚举常量添加额外的信息。
以下是一个使用注解的示例代码:
在这个示例中,我们为每个枚举常量添加了不同的注解@Annotation1
、@Annotation2
、@Annotation3
。每个注解都有一个description
属性,它用于存储额外的描述信息。