logo

Växellåda med enum i Java

enum nyckelord

Java har en speciell typ av datatyp som kallas en Enum, som vanligtvis är en samling (uppsättning) av konstanter. För att vara mer exakt är en Java Enum-typ en speciell form av Java-klass. En konstant, en procedur, etc. kan finnas i en Enum. Det är möjligt att använda ett Enum-nyckelord med en if-sats, switch-sats, iteration, etc.

  • Som standard var enumkonstanter offentliga, statiska och slutgiltiga.
  • Med hjälp av punktsyntax är enumkonstanter tillgängliga.
  • Tillsammans med konstanter kan en enumklass även innehålla attribut och metoder.
  • Enum-klasser kan inte ärva andra klasser och du kan inte skapa objekt av dem.
  • Enum-klasser är begränsade till gränssnittsimplementering.

Filnamn: EnumExample.jav

 // A Java program that // demonstrates how Enum // Keywords function when // specified outside of classes enum Months { JAN, FEB, MAR, APR, MAY, JUN, JUL; AUG; SEP; OCT; NOV; DEC; } public class EnumExample { // Main method public static void main(String args[]) { Months m = Months.MAY; System.out.println(m); } } 

Produktion:

 MAY 

byt nyckelord

När en användare har många alternativ och vill slutföra en separat uppgift för varje beslut, är Switch-satsen användbar. Switch-satsen gör det möjligt att jämföra värdet på en variabel med en lista över potentiella värden. Varje värde har ett distinkt kasus. Med en break-sats används ofta en switch Case-sats, även om det inte krävs.

Filnamn: SwitchExample.java

 // Java program to // demonstrate the use // of the switch statement public class SwitchExample { public static void main(String args[]) { // Declaring the variable for the case statements of switch int n = 5; // Switch keyword switch (n) { // Case statements case 1: System.out.println(' The number is 1 '); break; case 2: System.out.println(' The number is 2 '); break; case 3: System.out.println(' The number is 3 '); break; // Last case is the default default: System.out.println(' The number is other than 1, 2 or 3'); } } } 

Produktion:

 The number is other than 1, 2 or 3 

Nyckelordet enum är också kompatibelt med Switch-satsen. Enum kan användas på samma sätt som en int primitiv i en Java Switch-fallsats. Följande exempel visar hur en Enum med något som en Switch-sats fungerar.

Exempel 1:

När en enum används utanför huvudklassen används en switch-sats.

Filnamn: EnumSwitch.java

 // A Java program that demonstrates // how the Enum keyword and // the Switch statement function // Outside of the main class, // enum keyword declared enum Bikes { Honda, Pulsar, Passion, Yamaha, Apache, Suzuki; } // Main class public class EnumSwitch { public static void main(String args[]) { // Declaring the Enum variable Bikes b; b = Bikes.Apache; // using the Switch keyword switch (b) { // Case statements case Apache: System.out.println(' Hurray ! You have chosen Apache !'); break; case Honda: System.out.println(' Hurray ! You have chosen Honda !'); break; case Pulsar: System.out.println(' Hurray ! You have chosen Pulsar !'); break; case Passion: System.out.println(' Hurray ! You have chosen Passion !'); break; case Yamaha: System.out.println(' Hurray ! You have chosen Yamaha !'); break; case Suzuki: System.out.println(' Hurray ! You have chosen Suzuki !'); default: System.out.println(' Oops ! Sorry not in the list. '); break; } } } 

Produktion:

 Hurray ! You have chosen Apache! 

Det ovannämnda exemplet visar hur, när Enum anges utanför huvudklassen, fungerar nyckelordet Enum och växelfallsinstruktioner.

Exempel 2: När du använder en Enum med en Switch-sats, se till att Enum är i huvudklassen.

Filnamn: EnumSwitch1.java

 public class EnumSwitch1{ // inside of the main class, // enum keyword declared enum Bikes { Honda, Pulsar, Passion, Yamaha, Apache, Suzuki; } public static void main(String args[]) { // Declaring the Enum variable Bikes b; b = Bikes.Apache; // using the Switch keyword switch (b) { // Case statements case Apache: System.out.println(' Hurray ! You have chosen Apache !'); break; case Honda: System.out.println(' Hurray ! You have chosen Honda !'); break; case Pulsar: System.out.println(' Hurray ! You have chosen Pulsar !'); break; case Passion: System.out.println(' Hurray ! You have chosen Passion !'); break; case Yamaha: System.out.println(' Hurray ! You have chosen Yamaha !'); break; case Suzuki: System.out.println(' Hurray ! You have chosen Suzuki !'); default: System.out.println(' Oops ! Sorry not in the list. '); break; } } } 

Produktion:

 Hurray ! You have chosen Apache! 

Ovannämnda illustration visar hur, om Enum deklareras i huvudklassen, fungerar nyckelordet Enum tillsammans med Switch case-satser.