定義枚舉
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