Syntax:
veřejné enum enum_namehodnota1, hodnota2, ... hodnotaN
Tady, výčet klíčové slovo se používá k deklaraci typu výčtu a hodnotami bude libovolná konstantní hodnota. V další části tohoto tutoriálu jsou uvedena různá použití typu enum v Javě.
Příklad 1: Deklarujte a opakujte hodnoty výčtu
Jak je možné definovat hodnoty výčtu a přistupovat k nim pomocí smyčky 'pro', ukazuje následující příklad. Zde jsou názvy sedmi dnů v týdnu v krátké formě přiřazeny jako hodnoty výčtu. Dále se smyčka 'pro' používá k iteraci každé hodnoty z pracovních dnů a tisk každé hodnoty v každém řádku jako výstup.
veřejný výčet třídy1// Definujte typ výčtu
veřejné výpisy ve všední dny
Ne, Po, Út, St, Čt, Pá, So
// metoda main ()
public static void main (String [] args)
Systém.ven.println ("Krátká forma 7 pracovních dnů jsou:");
// Iterace hodnot enum
pro (pracovní dny den: pracovní dny.hodnoty ())
Systém.ven.println (den);
Výstup:
Po provedení kódu se zobrazí následující výstup.
Příklad 2: Použití výčtu v příkazu if-else
Následující příklad ukazuje použití proměnné enum s příkazem if-else-if. Zde je pojmenována proměnná výčtu kurzy je deklarován s kódy čtyř chodů jako hodnoty. Třída obsahuje konstruktor, který inicializuje proměnnou s názvem kurs o jakoukoli hodnotu výčtu. Zde bude poskytnut kód kurzu v době vytváření objektu a bude zkontrolován s každou podmínkou „if“ a vytiskne zprávu, kde podmínka vrací true. Pokud všechny podmínky vrátí hodnotu false, bude vytištěna zpráva ze sekce else.
public class enum2// Definujte typ výčtu
veřejné výukové kurzy
CSE101, CSE205, CSE308, CSE407
// Deklarujte proměnnou typu enum
kurz kurzů;
// Deklarovat konstruktor
public enum2 (kurz kurzů)
tento.kurz = kurz;
A
public static void main (String [] args)
// Deklarovat objekt
enum2 object1 = nový enum2 (kurzy.CSE205);
// Zkontrolujte hodnotu kurzu
if (objekt1.kurz == kurzy.CSE101)
Systém.ven.print ("Název kurzu je Computer Fundamental");
jinak if (object1.kurz == kurzy.CSE205)
Systém.ven.print ("Název kurzu je Datová struktura");
jinak if (object1.kurz == kurzy.CSE308)
Systém.ven.print ("Název kurzu je Operační systém");
jinak if (object1.kurz == kurzy.CSE407)
Systém.ven.print ("Název kurzu je Unix Programování");
jiný
Systém.ven.tisk ("Kód kurzu neexistuje");
Výstup:
Ve výše uvedeném kódu vyčíslete hodnotu, CSE205 je k dispozici v době vytváření objektu, který odpovídal druhé podmínce „pokud“ a vytiskl zprávu, “Název kurzu je Datová struktura.“
Příklad 3: Použití výčtu s konstruktorem a metodou
Jak lze definovat konstruktér výčtu a metodu výčtu v javě, je uveden v následujícím příkladu. Dvanáct hodnot výčtu s kódy je definováno s dvanácti měsíci v krátké formě. Konstruktor výčtu s parametrem je deklarován v kódu, který inicializuje soukromou celočíselnou proměnnou s názvem mCode. Pojmenovaná metoda výčtu readMCode () je deklarováno pro vrácení hodnot mCode. V hlavní() Metoda, šest proměnných je deklarováno a inicializováno prázdným řetězcem pro uložení konkrétních hodnot výčtu na základě hodnot přepínače. Zde se smyčka 'pro' používá k iteraci každé hodnoty výčtu a deklarování objektu výčtu na základě každé hodnoty. Když je vytvořen jakýkoli objekt výčtu, bude inicializován kód odpovídající hodnoty výčtu mCode. Návratová hodnota readMCode () v přepínači bude použita metoda, která bude odpovídat hodnotám případu. Zde je definován konkrétní blok příkazů pro dvě hodnoty případu. Například 0 a 1 budou vráceny jako mCode na měsíce, JAN a ÚNOR. Názvy těchto dvou měsíců budou uloženy v proměnné s1 a vytiskl hodnotu kombinací s jiným řetězcem. Stejný úkol bude proveden s dalšími pěti proměnnými, s2, s3, s4, s5, a s6, dalších deset měsíců.
Podle kódu, Zima bude vytištěno pro daný měsíc JAN a ÚNOR. Jaro bude vytištěno pro měsíc MAR a APR. Léto bude vytištěno pro měsíc SMĚT a ČERVEN. Období dešťů bude vytištěno pro měsíc ČERVENEC a SRPEN. Podzim bude vytištěno pro měsíc SEP a ŘÍJEN a Pozdní podzim bude vytištěno pro měsíc LISTOPAD a DEC.
public class enum3public enum Měsíce
JAN (0), FEB (1), MAR (2), ARP (3), KVĚTEN (4), JUN (5),
JUL (6), AUG (7), SEP (8), OCT (9), NOV (10), DEC (11);
soukromý int mCode;
// enum konstruktor
Měsíce (int mCode)
tento.mCode = mCode;
// metoda výčtu
public int readMCode ()
vrátit to.mCode;
// metoda main ()
public static void main (String [] args)
// Inicializace proměnných
Řetězec s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// Iterace hodnot enum
pro (Měsíce měsíc: Měsíce.hodnoty ())
// Deklarovat výčet objektu
Měsíce m = měsíc;
přepínač (m.readMCode ())
případ 0:
případ 1:
pokud (s1.se rovná(""))
s1 = měsíc.toString ();
else
s1 + = "a" + měsíc.toString ();
Systém.ven.println (s1 + "jsou zima.");
přestávka;
případ 2:
případ 3:
pokud (s2.se rovná(""))
s2 = měsíc.toString ();
else
s2 + = "a" + měsíc.toString ();
Systém.ven.println (s2 + "jsou jaro.");
přestávka;
případ 4:
případ 5:
pokud (s3.se rovná(""))
s3 = měsíc.toString ();
else
s3 + = "a" + měsíc.toString ();
Systém.ven.println (s3 + "jsou léto.");
přestávka;
případ 6:
případ 7:
pokud (s4.se rovná(""))
s4 = měsíc.toString ();
else
s4 + = "a" + měsíc.toString ();
Systém.ven.println (s4 + "jsou období dešťů.");
přestávka;
případ 8:
případ 9:
pokud (s5.se rovná(""))
s5 = měsíc.toString ();
else
s5 + = "a" + měsíc.toString ();
Systém.ven.println (s5 + "jsou podzimní.");
přestávka;
případ 10:
případ 11:
pokud (s6.se rovná(""))
s6 = měsíc.toString ();
else
s6 + = "a" + měsíc.toString ();
Systém.ven.println (s6 + "jsou pozdní podzim.");
přestávka;
Výstup:
Po provedení výše uvedeného kódu se zobrazí následující výstup.
Závěr:
Když potřebujeme pracovat s konstantními daty, pak je lepší použít proměnnou enum. V tomto kurzu jsou vysvětlena různá použití datového typu výčtu, abyste zjistili výhody používání typu výčtu v jazyce Java.