Co je výčet v Javě? Průvodce pro začátečníky



Výčet v Javě je v podstatě seznam pojmenované konstanty. V Javě definuje typ třídy. Může mít konstruktory, metody a proměnné instance. Tento článek vám řekne vše o výčtu v Javě.

Výčet není nic jiného než sada pojmenovaných konstant, které pomáhají při definování vlastních . Když můžete identifikovat typ proměnných v programu, je snadné je definovat. Tak, Výčet se používá, když již víte o všech hodnotách v době kompilace. V tomto článku vám řeknu, jak definovat výčet v pomocí příkladů.

V tomto článku se budu věnovat níže uvedeným tématům:





Začněme!

Co je výčet v Javě?

Výčet je v podstatěseznam pojmenované konstanty. V Javě definuje typ třídy. Může mít konstruktéři , metody a proměnné instance . Je vytvořen pomocíthe výčet klíčové slovo. Ve výchozím nastavení je každá konstanta výčtu veřejnost , statický a finále . I když výčet definuje typ třídy a má konstruktory, nemusíte vytvořit instanci výčet použitímthe Nový proměnná. Proměnné výčtu se používají a deklarují stejným způsobem jako u primitivní proměnné.



Pojďme se nyní podívat na podrobnosti výčtu a pochopit jeho syntaxi a deklaraci.

Definování výčtu v Javě

Deklaraci výčtu lze provést buď mimo a nebo uvnitř třídy. Ale nemůžeme deklarovat Enum uvnitř metody. Vezměme si malý příklad, abychom porozuměli jeho deklaraci. Nejprve vám řeknu, jak prohlásit enum mimo třídu.

rekurze fibonacci c ++

1. Deklarace výčtu v Javě mimo třídu

enum Directions {// enum klíčové slovo se používá místo klíčového slova třídy SEVER, JIH, VÝCHOD, ZÁPAD} veřejná třída enumDeclaration {public static void main (String [] args) {Directions d1 = Directions.EAST // nové klíčové slovo není nutné vytvořit nový odkaz na objekt System.out.println (d1)}}

Výstup:



VÝCHODNÍ

2. Deklarace výčtu v Javě uvnitř třídy

public class enumDeclaration {enum Directions {NORTH, SOUTH, EAST, WEST} public static void main (String [] args) {Directions d1 = Directions.EAST // nové klíčové slovo není nutné k vytvoření nového odkazu na systém System.out.println (d1)}}

Výstup:

VÝCHODNÍ

První řádek uvnitř typu enum by měl být seznam konstant. Pak můžete použít metody, , a stavitel . V zásadě enum představuje skupinu proměnných a konstant.

Poznámka:

  • Enum v zásadě zvyšuje bezpečnost typu.
  • Lze jej různě použít v příkladech spínacích případů.
  • Enum lze snadno procházet.
  • Výčet má pole, konstruktory a metody.
  • Enum v zásadě implementuje mnoho rozhraní ale nemůže rozšířit žádnou třídu, protože to interně rozšiřuje třídu Enum .

Nyní, když víte, jak deklarovat a používat enum ve vašem programu, pojďme pochopit, jak to implementovat pomocí příkazů switch case.

Výčet pomocí příkazu Switch

Hodnotu výčtu lze také použít k ovládání příkazu switch. Je nutné, aby všechny příkazy case musely používat konstanty ze stejného výčtu, jaký používá příkaz switch. Níže uvedený příklad ukazuje totéž.

balíček Edureka import java.util. * enum Directions {SEVER, JIH, VÝCHOD, ZÁPAD} veřejná třída Test1 {public static void main (String [] args) {Directions d = Directions.SOUTH switch (d) {// Název konstanty výčtu se používají bez jejich případu výčtu SEVER: // lze použít pouze konstanty definované v enum směrech lze použít případ přerušení System.out.println ('severní směr') JIŽNÍ: System.out.println ('jižní směr') EAST: System.out.println ('East directiion') případ přerušení ZÁPAD: System.out.println ('West directiion') break}

Výstup:

Jižní směr

Doufám, že jste pochopili, jak implementovat příkaz switch pomocí výčtu. Pojďme nyní dále a pochopme, co to je Hodnoty () a ValueOf () metoda a rozdíl mezi nimi.

Metoda Values ​​() a ValueOf ()

Hodnoty (): Když vytvoříte výčet, Překladač Java interně přidává hodnoty () metoda. Tato metoda vrací pole obsahující všechny hodnoty výčtu.

Syntax:

veřejné statické výčty typu [] hodnoty ()

Hodnota(): Tentometoda se používá k vrácení konstanty výčtu, jejíž hodnota se rovná předán jako argument při volání této metody.

co je třída skeneru v Javě

Syntax:

public static enum-type valueOf (String str)

Nyní si vytvořme program, který těmto metodám porozumí podrobněji.

enum Colors {black, red blue, pink, white} class Test {public static void main (String args []) {Colors c System.out.println ('All constants of enum type Colors are:') Colors cArray [] = Colors.values ​​() // vrací pole konstant typu Colors pro (Colors a: cArray) // pomocí smyčky foreach System.out.println (a) c = Colors.valueOf ('red') System.out.println ('Líbí se mi' + c)}}

Výstup:

Všechny konstanty typu enum Barvy jsou: černá červená modrá růžová bílá Mám rád červenou

Takto můžete použít Hodnoty () metoda vrátí pole, které obsahuje všechny výčty přítomné v metodě a Hodnota() vrátit konstantu výčtu. Doufám, že jste pochopili tento koncept.

Nyní pojďme dále a pochopme implementaci Enumeration v Javě pomocí stavitel , proměnná instance a metoda.

Výčet pomocí konstruktoru, proměnné instance a metody

V zásadě může výčet obsahovat konstruktor a provádí se samostatně pro každou konstantu výčtu v době načítání třídy výčtu. Nejen to, výčet může také vytvářet konkrétní metody. Pojďme napsat kód, který pochopí implementaci výčtu pomocí konstruktoru, proměnné instance a metody.

jak zastavit java program v kódu
enum Student {mack (11), Birdie (10), Son (13), Victor (9) private int age // proměnná definovaná v enum Student int getage {návratový věk} // metoda definovaná v enum Student public Student (int age ) // konstruktor definovaný v enum {this.age = age}} třídě EnumDemo {public static void main (String args []) {Student S System.out.println ('Age of Victor is' + Student.Victor.getage ( ) + 'roky')}}

Výstup:

Věk Victora je 9 let

Tady, jakmile deklarujeme proměnnou enum ( Student S ), konstruktor je volán jednou a inicializuje věkový parametr pro každou konstantu výčtu s hodnotami zadanými v závorkách. Tak to funguje.

Tím se dostáváme na konec článku o výčtu v Jáva . Doufám, že vám to připadalo poučné.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být vývojářem Java.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů v tomto článku „Výčet v jazyce Java“ a my se vám ozveme co nejdříve.