Samouczek Java Enum

Samouczek Java Enum
Java Enum to specjalny typ Java, który definiuje klasę Java. Nazywa się to również typem wyliczenia Java. Został wprowadzony w Java wersja 5, która służy głównie do zdefiniowania kolekcji stałych. Kompilowanie typu bezpieczeństwa jest zapewniane przy użyciu typu enum. Tak więc, gdy wszystkie możliwe wartości zmiennej są znane przed czasem kompilacji, lepiej jest użyć typu enum. Definiuje klasę, która zawsze rozciąga się od Java.Lang.Enum. W tym samouczku można zadeklarować typ enum i użyć w Javie.

Składnia:

public enum enum_name
wartość1, wartość2,… valuen

Tutaj, enum Słowo kluczowe służy do deklarowania typu wyliczenia, a wartości będą jak dowolna stała wartość. Różne zastosowania typu enum w Javie są pokazane w następnej części tego samouczka.

Przykład-1: Deklaruj i iteruj wartości enum

Jak można zdefiniować i uzyskać dostęp do enum za pomocą pętli „For” pokazano w poniższym przykładzie. Tutaj siedmiotygodniowe nazwy w krótkiej formie są przypisane jako wartości enum. Następnie pętla „dla” służy do iteracji każdej wartości z dni powszednie i wydrukowania każdej wartości w każdej linii jako wyjściowe.

Klasa publiczna enum1
// Zdefiniuj typ enum
publiczne enum dni powszednie
Słońce, pon, wt, świna, czw, pt, sat

// metoda main ()
public static void main (string [] args)
System.na zewnątrz.println („Krótka forma 7 dni powszednie to:”);
// iterowanie wartości enum
dla (dzień powszedni: dni powszednie.wartości ())
System.na zewnątrz.println (dzień);


Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu kodu.

Przykład-2: Korzystanie z enum w instrukcji IF-ELSE

Poniższy przykład pokazuje użycie zmiennej enum z instrukcją IF-ELSE-IF. Tutaj wymieniona zmienna enum kursy jest zadeklarowane z czterodaniowymi kodami jako wartościami. Klasa zawiera konstruktor, który zainicjuje wymienioną zmienną kurs według dowolnej wartości enum. Tutaj kod kursu zostanie dostarczony w momencie tworzenia obiektów i zostanie sprawdzony z każdym warunkiem „jeśli” i wydrukuj komunikat, w którym warunek zwraca się. Jeśli wszystkie warunki powrócą fałsz, wówczas wiadomość z sekcji else zostanie wydrukowana.

Klasa publiczna enum2
// Zdefiniuj typ enum
publiczne kursy enum
CSE101, CSE205, CSE308, CSE407

// deklaruj zmienną typu enum
Kursy;
// zadeklaruj konstruktora
public enum2 (kursy)
Ten.kurs = kurs;

A
public static void main (string [] args)
// zadeklaruj obiekt
enum2 obiekt1 = new enum2 (kursy.CSE205);
// Sprawdź wartość kursu
if (obiekt1.kurs == Kursy.CSE101)
System.na zewnątrz.Drukuj („nazwa kursu jest fundamentalna komputerowa”);
inaczej, jeśli (obiekt1.kurs == Kursy.CSE205)
System.na zewnątrz.print („nazwa kursu to struktura danych”);
inaczej, jeśli (obiekt1.kurs == Kursy.CSE308)
System.na zewnątrz.print („nazwa kursu to system operacyjny”);
inaczej, jeśli (obiekt1.kurs == Kursy.CSE407)
System.na zewnątrz.drukuj („Nazwa kursu to programowanie Unix”);
w przeciwnym razie
System.na zewnątrz.print („kod kursu nie istnieje”);

Wyjście:

W powyższym kodzie wartość enum, CSE205 jest dostarczany w momencie tworzenia obiektów, które pasowały do ​​drugiego warunku „jeśli” i wydrukowane wiadomość ”Nazwa kursu to struktura danych."

Przykład-3: Za pomocą enum z konstruktorem i metodą

Jak można zdefiniować i zastosować metodę konstruktora i enum enum, pokazano w poniższym przykładzie. Dwanaście wartości enum z kodami jest zdefiniowane z dwunastoma miesięcy w krótkiej formie. Konstruktor wyliczenia z parametrem jest zadeklarowany w kodzie, który inicjuje prywatną zmienną liczbową nazwaną Mcode. Nazwana metoda enum readMCode () jest zadeklarowany zwrócenie wartości Mcode. w główny() Metoda, sześć zmiennych jest zadeklarowane i inicjowane pustym ciągiem do przechowywania określonych wartości wyliczania na podstawie wartości przełącznika. Tutaj pętla „for” służy do iteracji każdej wartości enum i deklarowania obiektu enum na podstawie każdej wartości. Po utworzeniu dowolnego obiektu enum, kod odpowiedniej wartości wyliczania zostanie zainicjowany Mcode. Wartość zwracana readMCode () Metoda zostanie zastosowana w przełączniku, aby dopasować do wartości przypadków. Tutaj zdefiniowany jest określony blok instrukcji dla dwóch wartości przypadków. Na przykład 0 i 1 zostaną zwrócone jako Mcode na miesiące, Jan I Luty. Nazwy tych dwóch miesięcy będą przechowywane w zmiennej S1 i wydrukował wartość, łącząc z innymi ciągami. To samo zadanie zostanie wykonane z pozostałymi pięcioma zmiennymi, S2, S3, S4, S5, I S6, przez pozostałe dziesięć miesięcy.

Zgodnie z kodem, Zima zostanie wydrukowany na miesiąc Jan I Luty. Wiosna zostanie wydrukowany na miesiąc ZNISZCZYĆ I Apr. Lato zostanie wydrukowany na miesiąc MÓC I Jun. Sezon deszczowy zostanie wydrukowany na miesiąc Jul I Sierpień. Jesień zostanie wydrukowany na miesiąc Sep I OCT I Późna jesień zostanie wydrukowany na miesiąc Nov I Dec.

Klasa publiczna enum3
publiczne miesiące enum
Styczeń (0), luty (1), mar (2), ARP (3), maj (4), czerwca (5),
Lipca (6), sierpień (7), września (8), październik (9), listopada (10), grudzień (11);
private int mcode;
// Constructor enum
Miesiące (int mcode)
Ten.MCODE = MCODE;

// Metoda enum
public int readMcode ()
Zwróć to.Mcode;


// metoda main ()
public static void main (string [] args)
// Zainicjuj zmienne
String s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// iterowanie wartości enum
dla (miesiące: miesiące.wartości ())
// Deklaruj obiekt enum
Miesiące m = miesiąc;
przełącznik (m.readMCode ())

Przypadek 0:
przypadek 1:
if (s1.równa się(""))
s1 = miesiąc.ToString ();
w przeciwnym razie
s1+= "i"+miesiąc.ToString ();
System.na zewnątrz.println (s1+"to zima.");

przerwa;
Przypadek 2:
Przypadek 3:
if (s2.równa się(""))
s2 = miesiąc.ToString ();
w przeciwnym razie
s2+= "i"+miesiąc.ToString ();
System.na zewnątrz.println (s2+"to wiosna.");

przerwa;
Przypadek 4:
Przypadek 5:
if (s3.równa się(""))
S3 = miesiąc.ToString ();
w przeciwnym razie
s3+= "i"+miesiąc.ToString ();
System.na zewnątrz.println (s3+"to lato.");

przerwa;
Przypadek 6:
Przypadek 7:
if (s4.równa się(""))
S4 = miesiąc.ToString ();
w przeciwnym razie
s4+= "i"+miesiąc.ToString ();
System.na zewnątrz.println (s4+"to pora deszczowa.");

przerwa;
Przypadek 8:
Przypadek 9:
if (s5.równa się(""))
S5 = miesiąc.ToString ();
w przeciwnym razie
s5+= "i"+miesiąc.ToString ();
System.na zewnątrz.println (s5+"są jesienią.");

przerwa;
Przypadek 10:
Przypadek 11:
if (s6.równa się(""))
s6 = miesiąc.ToString ();
w przeciwnym razie
s6+= "i"+miesiąc.ToString ();
System.na zewnątrz.println (S6+"są późną jesienią.");

przerwa;



Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego kodu.

Wniosek:

Kiedy musimy pracować ze stałymi danymi, lepiej jest użyć zmiennej enum. Różne zastosowania danych danych wyliczanych zostały wyjaśnione w tym samouczku, aby poznać korzyści płynące z używania typu wyliczenia w Java.