Sintaksa:
javni popis enum_namevrijednost1, vrijednost2,… vrijednostN
Ovdje, nabrajanje Ključna riječ koristi se za deklaraciju tipa nabrajanja, a vrijednosti će biti bilo koja konstantna vrijednost. Različite upotrebe enum tipa u Javi prikazane su u sljedećem dijelu ovog vodiča.
Primjer-1: Deklariranje i ponavljanje vrijednosti nabrajanja
Kako se enum vrijednosti mogu definirati i pristupiti im pomoću petlje 'for' prikazano je u sljedećem primjeru. Ovdje su imena sedmodnevnih dana u kratkom obliku dodijeljena kao vrijednosti nabrajanja. Dalje, petlja 'for' koristi se za iteraciju svake vrijednosti iz radnih dana i ispis svake vrijednosti u svakom retku kao izlaz.
javni razred enum1// Definiraj tip nabrajanja
javni popisi radnim danima
Ned, Ponedjeljak, Utorak, Srijeda, Četvrtak, Pet, Sub
// glavna () metoda
javna statička void glavna (String [] args)
Sustav.van.println ("Kratki obrazac od 7 radnih dana je:");
// Ponavljanje vrijednosti enum
za (radnim danom dan: radnim danom.vrijednosti ())
Sustav.van.println (dan);
Izlaz:
Sljedeći će se izlaz pojaviti nakon izvršavanja koda.
Primjer-2: Korištenje enum-a u naredbi if-else
Sljedeći primjer prikazuje upotrebu varijable enum s naredbom if-else-if. Ovdje je navedena enum varijabla tečajevi deklarira se s kodovima od četiri slijeda kao vrijednosti. Klasa sadrži konstruktor koji će inicijalizirati imenovanu varijablu tečaj bilo kojom vrijednošću nabrajanja. Ovdje će se pružiti kôd tečaja u vrijeme stvaranja objekta i provjeravat će se sa svakim uvjetom 'if' i ispisati poruku u kojoj uvjet vraća true. Ako se svi uvjeti vrate netačnim, tada će se ispisati poruka iz odjeljka else.
javni razred enum2// Definiraj tip nabrajanja
tečajevi javnog popisa
CSE101, CSE205, CSE308, CSE407
// Deklariraj varijablu enum tipa
tečajevi tečaj;
// Objavi konstruktor
javni enum2 (tečaj)
ovaj.tečaj = tečaj;
a
javna statička void glavna (String [] args)
// Deklariranje objekta
enum2 objekt1 = novi enum2 (tečajevi.CSE205);
// Provjeri vrijednost tečaja
ako (objekt1.tečaj == tečajevi.CSE101)
Sustav.van.print ("Naziv tečaja je Computer Fundamental");
inače ako (objekt1.tečaj == tečajevi.CSE205)
Sustav.van.ispis ("Naziv tečaja je Struktura podataka");
inače ako (objekt1.tečaj == tečajevi.CSE308)
Sustav.van.print ("Naziv tečaja je Operativni sustav");
inače ako (objekt1.tečaj == tečajevi.CSE407)
Sustav.van.print ("Naziv tečaja je Unix programiranje");
drugo
Sustav.van.ispis ("Kôd tečaja ne postoji");
Izlaz:
U gornjem kodu, vrijednost enum, CSE205 pruža se u vrijeme stvaranja objekta koji se podudara s drugim uvjetom "ako" i ispisuje poruku, "Naziv tečaja je Struktura podataka."
Primjer-3: Korištenje enum-a s konstruktorom i metodom
Kako se enum konstruktor i enum metoda mogu definirati i koristiti u javi prikazani su u sljedećem primjeru. Dvanaest vrijednosti nabrajanja s kodovima definirano je u dvanaest mjeseci u kratkom obliku. Konstruktor enum-a s parametrom deklariran je u kodu koji inicijalizira imenovanu privatnu cijelu varijablu mKod. Imenovana metoda popisivanja readMCode () proglašava se da vraća vrijednosti od mKod. U glavni() metodom, šest se varijabli deklarira i inicijalizira s praznim nizom za pohranu određenih vrijednosti nabrajanja na temelju vrijednosti prekidača. Ovdje se petlja 'for' koristi za ponavljanje svake vrijednosti nabrajanja i deklariranje enum objekta na temelju svake vrijednosti. Kada se kreira bilo koji enum objekt, tada će se inicijalizirati kod odgovarajuće enum vrijednosti mKod. Povratna vrijednost readMCode () metoda će se koristiti u preklopniku za podudaranje s vrijednostima slučaja. Ovdje je definiran određeni blok izraza za dvije vrijednosti slučaja. Na primjer, 0 i 1 vratit će se kao mKod mjesecima, JAN i FEB. Imena ova dva mjeseca bit će pohranjena u varijabli s1 i ispisali vrijednost kombinirajući s drugim nizom. Isti zadatak učinit će se s ostalih pet varijabli, s2, s3, s4, s5, i s6, ostalih deset mjeseci.
Prema zakoniku, Zima bit će tiskan za mjesec JAN i FEB. Proljeće bit će tiskan za MAR i APR. Ljeto bit će tiskan za SVIBANJ i LIPANJ. Kišna sezona bit će tiskan za JUL i KOLOVOZ. Jesen bit će tiskan za SEP i OKT i Kasna jesen bit će tiskan za NOV i DEC.
javni razred enum3javni brojevi mjeseci
SIJEČANJ (0), VELJAČA (1), MAR (2), ARP (3), SVIBANJ (4), LIPANJ (5),
SRPANJ (6), KOLOVOZ (7), SEP (8), LIST (9), NOV (10), DEC (11);
privatni int mCode;
// enum konstruktor
Mjeseci (int mCode)
ovaj.mCode = mCode;
// enum metoda
javni int readMCode ()
vrati ovo.mKod;
// glavna () metoda
javna statička void glavna (String [] args)
// Inicijalizirajte varijable
Niz s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// Ponavljanje vrijednosti enum
za (Mjeseci mjesec: Mjeseci.vrijednosti ())
// Deklariraj enum objekt
Mjeseci m = mjesec;
prekidač (m.readMCode ())
slučaj 0:
slučaj 1:
ako (s1.jednako (""))
s1 = mjesec.toString ();
inače
s1 + = "i" + mjesec.toString ();
Sustav.van.println (s1 + "su zimski.");
pauza;
slučaj 2:
slučaj 3:
ako (s2.jednako (""))
s2 = mjesec.toString ();
inače
s2 + = "i" + mjesec.toString ();
Sustav.van.println (s2 + "su proljeće.");
pauza;
slučaj 4:
slučaj 5:
ako (s3.jednako (""))
s3 = mjesec.toString ();
inače
s3 + = "i" + mjesec.toString ();
Sustav.van.println (s3 + "su Ljeto.");
pauza;
slučaj 6:
slučaj 7:
ako (s4.jednako (""))
s4 = mjesec.toString ();
inače
s4 + = "i" + mjesec.toString ();
Sustav.van.println (s4 + "su sezona kiša.");
pauza;
slučaj 8:
slučaj 9:
ako (s5.jednako (""))
s5 = mjesec.toString ();
inače
s5 + = "i" + mjesec.toString ();
Sustav.van.println (s5 + "su jesen.");
pauza;
slučaj 10:
slučaj 11:
ako (s6.jednako (""))
s6 = mjesec.toString ();
inače
s6 + = "i" + mjesec.toString ();
Sustav.van.println (s6 + "su kasne jeseni.");
pauza;
Izlaz:
Sljedeći će se izlaz pojaviti nakon izvršavanja gornjeg koda.
Zaključak:
Kada trebamo raditi s konstantnim podacima, tada je bolje koristiti varijablu enum. Različite upotrebe enum tipa podataka objašnjene su u ovom vodiču kako bi se naučile prednosti korištenja tipa popisivanja u Javi.