Java

Java Enum-zelfstudie

Java Enum-zelfstudie
Java enum is een speciaal Java-type dat wordt gedefinieerd door een Java-klasse. Het wordt ook wel het Java-opsommingstype genoemd. Het wordt eerst geïntroduceerd in Java-versie 5, die voornamelijk wordt gebruikt om de verzameling constanten te definiëren. Het compileertype van veiligheid wordt verzekerd door het enum-type te gebruiken. Dus als alle mogelijke waarden van de variabele bekend zijn vóór de compileertijd, dan is het beter om enum-type te gebruiken. Het definieert een klasse die zich altijd uitstrekt van java.lang.Enum. Hoe enum-type kan worden gedeclareerd en gebruikt in Java, wordt in deze zelfstudie getoond.

Syntaxis:

openbare enum enum_name
waarde1, waarde2,… waardeN

Hier, opsomming sleutelwoord wordt gebruikt om het opsommingstype aan te geven, en de waarden zullen een constante waarde zijn.  Verschillende toepassingen van het enum-type in Java worden getoond in het volgende deel van deze tutorial.

Voorbeeld-1: Opsomwaarden declareren en herhalen

Hoe enum-waarden kunnen worden gedefinieerd en geopend met behulp van de 'for'-lus, wordt in het volgende voorbeeld getoond:. Hier worden namen van zeven werkdagen in de korte vorm toegewezen als opsommingswaarden. Vervolgens wordt de 'for'-lus gebruikt om elke waarde van weekdagen te herhalen en elke waarde in elke regel als uitvoer af te drukken.

openbare klasse opsomming1
// Definieer het enum-type
openbare opsomming weekdagen
zo, ma, di, wo, do, vr, za

//main() methode
public static void main(String[] args)
Systeem.uit.println("De verkorte vorm van 7 weekdagen is :");
//Itereren van de waarden van enum
voor (weekdagen dag : weekdagen.waarden())
Systeem.uit.println(dag);


Uitgang:

De volgende uitvoer verschijnt na het uitvoeren van de code:.

Voorbeeld-2: Enum gebruiken in de if-else-instructie

Het volgende voorbeeld toont het gebruik van de variabele enum met de instructie if-else-if. Hier een enum-variabele met de naam cursussen wordt gedeclareerd met codes van vier gangen als waarden. De klasse bevat een constructor die de variabele met de naam initial initialiseert Cursus door elke enum waarde. Hier wordt een cursuscode verstrekt op het moment dat het object wordt gemaakt, en deze wordt gecontroleerd met elke 'if'-voorwaarde en drukt het bericht af waar de voorwaarde true retourneert. Als alle voorwaarden false retourneren, wordt het bericht uit de else-sectie afgedrukt.

openbare klasse opsomming2
// Definieer het enum-type
openbare opsomming cursussen
CSE101,CSE205,CSE308,CSE407

//Declareer een variabele van het type enum
cursussen cursus;
//Declareer de constructor
openbare opsomming2(cursussen cursus)
dit.cursus = cursus;

een
public static void main(String[] args)
//Declareer een object
enum2 object1 = nieuwe enum2(cursussen.CSE205);
//Controleer de cursuswaarde
if(object1.cursus == cursussen.CSE101)
Systeem.uit.print("De cursusnaam is Computer Fundamental");
anders als (object1.cursus == cursussen.CSE205)
Systeem.uit.print("De naam van de cursus is Datastructuur");
anders als (object1.cursus == cursussen.CSE308)
Systeem.uit.print("De naam van de cursus is Besturingssysteem");
anders als (object1.cursus == cursussen.CSE407)
Systeem.uit.print("De cursusnaam is Unix Programming");
anders
Systeem.uit.print("Cursuscode bestaat niet");

Uitgang:

In de bovenstaande code, enum waarde, CSE205 wordt geleverd op het moment van het maken van het object dat overeenkwam met de tweede 'als'-voorwaarde en het bericht afgedrukt, "De cursusnaam is Datastructuur Data.”

Voorbeeld-3: Enum gebruiken met constructor en methode

Hoe enum-constructor en enum-methode kunnen worden gedefinieerd en gebruikt in Java, wordt in het volgende voorbeeld getoond:. De twaalf opsommingswaarden met codes zijn gedefinieerd met de twaalf maanden in de korte vorm. Een constructor van een enum met een parameter wordt gedeclareerd in de code die de private integer-variabele met de naam initialiseert mCode. Een enum-methode genaamd leesMCode() wordt gedeclareerd om de waarden van return te retourneren mCode. In de hoofd() methode worden zes variabelen gedeclareerd en geïnitialiseerd met een lege string om de specifieke enum-waarden op te slaan op basis van de switch-case-waarden. Hier wordt de 'for'-lus gebruikt om elke enum-waarde te herhalen en een enum-object te declareren op basis van elke waarde. Wanneer een enum-object wordt gemaakt, wordt de code van de corresponderende enum-waarde geïnitialiseerd als: mCode. De retourwaarde van de leesMCode() methode zal worden gebruikt in de switch om overeen te komen met case-waarden. Hier wordt een bepaald blok met instructies gedefinieerd voor twee hoofdletterwaarden. 0 en 1 worden bijvoorbeeld geretourneerd als mCode voor de maanden, JAN en FEBRUARI. De namen van deze twee maanden worden opgeslagen in de variabele s1 en de waarde afgedrukt door te combineren met een andere tekenreeks. Dezelfde taak wordt gedaan met de andere vijf variabelen, s2, s3, s4, s5, en s6, voor de andere tien maanden.

Volgens de code, Winter wordt afgedrukt voor de maand JAN en FEBRUARI. Voorjaar wordt gedrukt voor de maand van MAR en april. Zomer wordt gedrukt voor de maand van MEI en JUNI. Regenseizoen wordt gedrukt voor de maand van JULI en AUG. Herfst wordt gedrukt voor de maand van september en OKT en Late herfst wordt gedrukt voor de maand van NOV en DEC.

openbare klasse opsomming3
openbare opsomming Maanden
JAN(0),FEB(1),MAR(2),ARP(3),MEI(4),JUN(5),
JUL (6), AUG (7), SEP (8), OKT (9), NOV (10), DEC (11);
privé int mCode;
//enum-constructor
Maanden (int mCode)
dit.mCode = mCode;

//enum methode
openbare int leesMCode()
geef dit terug.mCode;


//main() methode
public static void main(String[] args)
//Initialiseer variabelen
Tekenreeks s1="",s2="",s3="",s4="",s5="",s6="";
//Itereren van de waarden van enum
voor (Maanden maand : Maanden.waarden())
// Declareer enum object
Maanden m = maand;
schakelaar (m.leesMCode())

geval 0:
zaak 1:
als (s1.is gelijk aan(""))
s1=maand.toString();
anders
s1+=" en "+maand.toString();
Systeem.uit.println(s1+" zijn winter.");

breken;
geval 2:
geval 3:
als (s2.is gelijk aan(""))
s2=maand.toString();
anders
s2+=" en "+maand.toString();
Systeem.uit.println(s2+" zijn lente).");

breken;
geval 4:
geval 5:
als (s3.is gelijk aan(""))
s3=maand.toString();
anders
s3+=" en "+maand.toString();
Systeem.uit.println(s3+" zijn zomer).");

breken;
geval 6:
geval 7:
als (s4.is gelijk aan(""))
s4=maand.toString();
anders
s4+=" en "+maand.toString();
Systeem.uit.println (s4+" zijn regenseizoen).");

breken;
geval 8:
geval 9:
als (s5.is gelijk aan(""))
s5=maand.toString();
anders
s5+=" en "+maand.toString();
Systeem.uit.println (s5+" zijn herfst).");

breken;
geval 10:
geval 11:
als (s6.is gelijk aan(""))
s6=maand.toString();
anders
s6+=" en "+maand.toString();
Systeem.uit.println(s6+" zijn late herfst).");

breken;



Uitgang:

De volgende uitvoer verschijnt na het uitvoeren van de bovenstaande code:.

Conclusie:

Als we met de constante gegevens moeten werken, is het beter om de variabele enum te gebruiken. De verschillende toepassingen van het enum-gegevenstype worden in deze zelfstudie uitgelegd om de voordelen te leren van het gebruik van het opsommingstype in Java.

Hoe Xdotool te gebruiken om muisklikken en toetsaanslagen in Linux te stimuleren
Xdotool is een gratis en open source opdrachtregelprogramma voor het simuleren van muisklikken en toetsaanslagen. Dit artikel behandelt een korte hand...
Top 5 ergonomische computermuisproducten voor Linux
Veroorzaakt langdurig computergebruik pijn in uw pols of vingers?? Heb je last van stijve gewrichten en moet je constant de hand schudden?? Voelt u ee...
Hoe de muis- en touchpad-instellingen te wijzigen met Xinput in Linux
De meeste Linux-distributies worden standaard geleverd met de bibliotheek "libinput" om invoergebeurtenissen op een systeem af te handelen. Het kan in...