定义枚举
JDK1.5引入了一种新的数据类型枚举类型。Java使用关键字enum声明枚举类型,语法格式如下:
enum名字
{常量列表
}
其中的常量列表是用逗号分割的字符序列,称为枚举类型的常量。例如:
enum Season
{ spring, summer, autumn, winter
}
声明了名字为Season的枚举类型,该枚举类型有4个常量。
枚举变量
enum Season
{ spring, summer, autumn, winter
}
声明了名字为Season的枚举类型,该枚举类型有4个常量。
声明了一个枚举类型后,就可以用该枚举类型声明一个枚举变量,例如:Season x;该枚举变量只能取值枚举类型中的常量。通过使用枚举名和“.”运算符获得枚举类型中的常量。例如:x=Season.spring。
注意事项
1.使用for语句遍历枚举常量
枚举类型可以用如下形式返回一个一维数组:
枚举类型的名字.values();该一维数组元素的值和该枚举类型中常量依次相对应。例如,
Seasona[]=Season.values();
那么,a[0]至a[3]的值依次为:spring, summer, autumn, winter。
2.switch语句中使用枚举常量
JDK1.5后的版本允许switch语句中表达式的值是枚举类型的常量。
示例:
public class Demo12{
public static void main(String args[]){
Weekday w = Weekday.Sunday; /*对枚举变量进行赋值
if(w == Weekday.Sunday){ /*对枚举进行判断
System.out.println(w); /*打印这个枚举
}
for(Weekday x:Weekday.values()){ /*声明一个中转变量x,使枚举转换为数组
System.out.println(x);
}
Weekday w = Weekday.Monday;
switch(w){
case Monday:
System.out.println("Monday");
break;
case Sunday:
System.out.println("Sunday");
break;
}
}
public enum Weekday{ /*枚举的声明和初始化
Monday,Sunday
}
}
同时在该目录下,还生成了一个枚举,所以这个main方法不能在main里面进行定义,要在main外面定义,或者另外的源文件进行定义。它需要单独编译生成新的字节码
For中使用枚举
Switch中使用枚举
打印Monday
网友评论