天天看點

java enumerate_Java中的枚舉詳解

定義枚舉

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

}

}

java enumerate_Java中的枚舉詳解

同時在該目錄下,還生成了一個枚舉,是以這個main方法不能在main裡面進行定義,要在main外面定義,或者另外的源檔案進行定義。它需要單獨編譯生成新的位元組碼

java enumerate_Java中的枚舉詳解

For中使用枚舉

java enumerate_Java中的枚舉詳解

Switch中使用枚舉

列印Monday

java enumerate_Java中的枚舉詳解