Syntax:
verejné enum enum_namehodnota1, hodnota2, ... hodnotaN
Tu, enum kľúčové slovo sa používa na deklarovanie typu výčtu a hodnotami bude ľubovoľná konštantná hodnota. Rôzne použitia typu enum v jazyku Java sú uvedené v nasledujúcej časti tohto tutoriálu.
Príklad-1: Deklarujte a iterujte enumové hodnoty
Nasledujúci príklad ukazuje, ako je možné definovať a získať prístup k hodnotám enum pomocou slučky „for“. Tu sú názvy siedmich pracovných dní v krátkej forme priradené ako hodnoty enum. Ďalej sa slučka „pre“ používa na iteráciu každej hodnoty z pracovných dní a tlač každej hodnoty v každom riadku ako výstupu.
verejná trieda enum1// Definujte typ enum
verejné enum pracovné dni
Ne, Pon, Utorok, St, Štv, Pia, Sob
// metóda main ()
public static void main (String [] args)
Systém.von.println ("Krátka forma 7 pracovných dní je:");
// Iterácia hodnôt enum
pre (všedné dni deň: všedné dni.hodnoty ())
Systém.von.println (deň);
Výkon:
Po vykonaní kódu sa objaví nasledujúci výstup.
Príklad-2: Použitie enum v príkaze if-else
Nasledujúci príklad ukazuje použitie premennej enum s príkazom if-else-if. Tu je pomenovaná premenná enum kurzov sa deklaruje so štvorchodovými kódmi ako hodnotami. Trieda obsahuje konštruktor, ktorý inicializuje premennú s názvom samozrejme o akúkoľvek hodnotu enum. Tu bude poskytnutý kód kurzu v čase vytvárania objektu, ktorý bude skontrolovaný pri každej podmienke „ak“ a vytlačí správu, v ktorej sa podmienka vráti pravdivo. Ak sú všetky podmienky neplatné, bude vytlačená správa zo sekcie else.
public class enum2// Definujte typ enum
verejné výučbové kurzy
CSE101, CSE205, CSE308, CSE407
// Deklarujte premennú typu enum
kurz kurzov;
// Deklarovať konštruktor
public enum2 (kurz kurzov)
toto.kurz = kurz;
a
public static void main (String [] args)
// Deklarovať objekt
enum2 object1 = nový enum2 (kurzy.CSE205);
// Skontrolujte hodnotu kurzu
if (objekt1.kurz == kurzy.CSE101)
Systém.von.print („Názov kurzu je Computer Fundamental“);
inak if (object1.kurz == kurzy.CSE205)
Systém.von.print ("Názov kurzu je Dátová štruktúra");
inak if (object1.kurz == kurzy.CSE308)
Systém.von.print ("Názov kurzu je Operačný systém");
inak if (object1.kurz == kurzy.CSE407)
Systém.von.print ("Názov kurzu je Unixové programovanie");
inak
Systém.von.print ("Kód kurzu neexistuje");
Výkon:
Vo vyššie uvedenom kóde hodnota enum, CSE205 sa poskytuje v čase vytvárania objektu, ktorý sa zhodoval s druhou podmienkou „keby“ a vytlačil správu, “Názov kurzu je Dátová štruktúra.“
Príklad 3: Použitie enumu s konštruktorom a metódou
Ako je možné definovať konštruktor enum a metódu enum v jave, je uvedené v nasledujúcom príklade. Dvanásť hodnôt enum s kódmi je definovaných ako dvanásť mesiacov v skrátenej forme. V kóde, ktorý inicializuje premennú súkromného celého čísla s názvom, je deklarovaný konštruktor enumu s parametrom mCode. Vymenovaná metóda výčtu readMCode () je deklarované na vrátenie hodnôt mCode. V hlavný() metóda, deklaruje sa šesť premenných a inicializuje sa prázdnym reťazcom na uloženie konkrétnych hodnôt enum na základe hodnôt prepínania. Tu sa slučka „pre“ používa na iteráciu každej hodnoty enum a deklarovanie objektu enum na základe každej hodnoty. Keď sa vytvorí akýkoľvek objekt enum, potom sa inicializuje kód zodpovedajúcej hodnoty enum mCode. Návratová hodnota readMCode () v prepínači sa použije metóda, ktorá sa zhoduje s hodnotami malých a veľkých písmen. Tu je definovaný konkrétny blok výpisov pre dve hodnoty písmen. Napríklad 0 a 1 sa vrátia ako mCode na mesiace, JAN a FEB. Mená týchto dvoch mesiacov budú uložené v premennej s1 a hodnotu vytlačil kombináciou s iným reťazcom. Rovnaká úloha sa vykoná s ďalšími piatimi premennými, s2, s3, s4, s5, a s6, na ostatných desať mesiacov.
Podľa kódexu, Zimné bude vytlačené za mesiac JAN a FEB. Jar bude vytlačené pre mesiac MAR a APR. Leto bude vytlačené pre mesiac SMIEŤ a JÚN. Obdobie dažďov bude vytlačené pre mesiac JÚL a AUG. Jeseň bude vytlačené pre mesiac SEP a ZKÚ a Neskorá jeseň bude vytlačené pre mesiac NOV a DEC.
verejná trieda enum3public enum Mesiace
JAN (0), FEB (1), MAR (2), ARP (3), MÁJ (4), JUN (5),
JUL (6), AUG (7), SEP (8), OCT (9), NOV (10), DEC (11);
private int mCode;
// enum constructor
Mesiace (int mCode)
toto.mCode = mCode;
// metóda enum
public int readMCode ()
vráť toto.mCode;
// metóda main ()
public static void main (String [] args)
// Inicializácia premenných
Reťazec s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// Iterácia hodnôt enum
pre (Mesiace mesiac: Mesiace.hodnoty ())
// Deklaruje enum objekt
Mesiace m = mesiac;
prepínač (m.readMCode ())
prípad 0:
prípad 1:
ak (s1.sa rovná (""))
s1 = mesiac.natiahnuť();
else
s1 + = "a" + mesiac.natiahnuť();
Systém.von.println (s1 + "sú zimné.");
prestávka;
prípad 2:
prípad 3:
ak (s2.sa rovná (""))
s2 = mesiac.natiahnuť();
else
s2 + = "a" + mesiac.natiahnuť();
Systém.von.println (s2 + "sú jarné.");
prestávka;
prípad 4:
prípad 5:
ak (s3.sa rovná (""))
s3 = mesiac.natiahnuť();
else
s3 + = "a" + mesiac.natiahnuť();
Systém.von.println (s3 + "sú letné.");
prestávka;
prípad 6:
prípad 7:
ak (s4.sa rovná (""))
s4 = mesiac.natiahnuť();
else
s4 + = "a" + mesiac.natiahnuť();
Systém.von.println (s4 + "sú obdobia dažďov.");
prestávka;
prípad 8:
prípad 9:
ak (s5.sa rovná (""))
s5 = mesiac.natiahnuť();
else
s5 + = "a" + mesiac.natiahnuť();
Systém.von.println (s5 + "sú jesenné.");
prestávka;
prípad 10:
prípad 11:
ak (s6.sa rovná (""))
s6 = mesiac.natiahnuť();
else
s6 + = "a" + mesiac.natiahnuť();
Systém.von.println (s6 + "sú neskoro na jeseň.");
prestávka;
Výkon:
Po vykonaní vyššie uvedeného kódu sa objaví nasledujúci výstup.
Záver:
Keď potrebujeme pracovať s konštantnými údajmi, je lepšie použiť premennú enum. Rôzne použitia dátového typu enum sú vysvetlené v tomto tutoriále, aby sme sa naučili výhody používania typu enumerácie v Jave.