Java

Урок за Java Enum

Урок за Java Enum
Java enum е специален тип Java, който се определя от клас Java. Нарича се още тип изброяване на Java. Първо се въвежда в Java версия 5, която се използва главно за дефиниране на колекцията от константи. Компилираният тип безопасност се осигурява чрез използване на типа enum. Така че, когато всички възможни стойности на променливата са известни преди времето за компилиране, тогава е по-добре да се използва тип enum. Той определя клас, който винаги се простира от java.lang.Преброяване. Как enum типът може да бъде деклариран и използван в Java са показани в този урок.

Синтаксис:

публичен номер enum_name
стойност1, стойност2, ... стойностN

Тук, преброяване ключовата дума се използва за деклариране на типа на изброяване и стойностите ще бъдат всякакви постоянни стойности.  Различните приложения на типа enum в Java са показани в следващата част на този урок.

Пример-1: Декларирайте и повторете стойностите на изброяването

Как могат да бъдат дефинирани и достъпни стойности на изброяването чрез цикъла 'for' е показано в следващия пример. Тук имената на седем делнични дни в кратката форма се присвояват като стойности на изброяване. След това цикълът „for“ се използва за итерация на всяка стойност от делничните дни и отпечатване на всяка стойност във всеки ред като изход.

публичен клас enum1
// Дефиниране на типа enum
делнични дни за публично изброяване
Слънце, понеделник, вторник, сряда, четвъртък, петък, събота

// main () метод
публична статична void main (String [] args)
Система.навън.println ("Кратката форма от 7 работни дни са:");
// Итерация на стойностите на enum
за (делничен ден: делнични дни.стойности())
Система.навън.println (ден);


Изход:

След изпълнението на кода ще се появи следният изход.

Пример-2: Използване на enum в оператора if-else

Следващият пример показва използването на променлива enum с оператора if-else-if. Тук е посочена променлива enum курсове се декларира с кодове от четири курса като стойности. Класът съдържа конструктор, който ще инициализира променливата с име разбира се с произволна стойност на изброяване. Тук ще бъде предоставен код на курса по време на създаването на обект и той ще бъде проверен при всяко условие 'if' и ще се отпечата съобщението, където условието връща true. Ако всички условия върнат false, тогава съобщението от раздела else ще бъде отпечатано.

публичен клас enum2
// Дефиниране на типа enum
публични курсове за изброяване
CSE101, CSE205, CSE308, CSE407

// Деклариране на променлива от тип enum
курсове;
// Деклариране на конструктора
публичен enum2 (курс на курсове)
това.курс = курс;

а
публична статична void main (String [] args)
// Деклариране на обект
enum2 object1 = нов enum2 (курсове.CSE205);
// Проверете стойността на курса
if (object1.курс == курсове.CSE101)
Система.навън.print ("Името на курса е Computer Fundamental");
else if (object1.курс == курсове.CSE205)
Система.навън.print ("Името на курса е Структура на данните");
else if (object1.курс == курсове.CSE308)
Система.навън.print ("Името на курса е Операционна система");
else if (object1.курс == курсове.CSE407)
Система.навън.print ("Името на курса е програмиране на Unix");
друго
Система.навън.print ("Кодът на курса не съществува");

Изход:

В горния код, enum стойност, CSE205 се предоставя по време на създаването на обект, който съвпада с второто условие „ако“ и отпечатва съобщението, „Името на курса е Data Structure.”

Пример-3: Използване на enum с конструктор и метод

Как могат да бъдат дефинирани и използвани enum конструктор и метод на enum в java са показани в следващия пример. Дванадесетте стойности на изброяване с кодове се дефинират с дванадесетте месеца в кратката форма. Конструктор на enum с параметър е деклариран в кода, който инициализира частната променлива с име на име mCode. Метод с изброяване с име readMCode () се декларира да връща стойностите на mCode. В главен () метод, шест променливи се декларират и инициализират с празен низ, за ​​да съхраняват конкретните стойности на преброяването въз основа на стойностите за превключване. Тук цикълът „for“ се използва за итерация на всяка стойност на преброяване и деклариране на обект на преброяване въз основа на всяка стойност. Когато се създаде който и да е обект на преброяване, тогава кодът на съответната стойност на преброяване ще бъде инициализиран в mCode. Връщаната стойност на readMCode () метод ще се използва в превключвателя, за да съвпада със стойностите на регистъра. Тук се дефинира определен блок от инструкции за две стойности на случая. Например 0 и 1 ще бъдат върнати като mCode за месеците, ЯН и FEB. Имената на тези два месеца ще се съхраняват в променливата s1 и отпечата стойността чрез комбиниране с друг низ. Същата задача ще бъде направена и с останалите пет променливи, s2, s3, s4, s5, и s6, през останалите десет месеца.

Според кода, Зима ще бъдат отпечатани за месеца ЯН и FEB. Пролет ще бъде отпечатан за месец МАР и АПР. Лято ще бъде отпечатан за месец МОЖЕ и ЮНИ. Дъждовният сезон ще бъде отпечатан за месец ЮЛ и АВГУСТ. Есен ще бъде отпечатан за месец СЕП и ОКТ и Късна есен ще бъде отпечатан за месец НОВ и DEC.

публичен клас enum3
публично изброяване Месеци
JAN (0), FEB (1), MAR (2), ARP (3), MAY (4), JUN (5),
ЮЛ (6), АВГУСТ (7), СЕП (8), ОКТ (9), НОВ (10), ДЕК (11);
private int mCode;
// enum конструктор
Месеци (int mCode)
това.mCode = mCode;

// метод на изброяване
публичен int readMCode ()
върнете това.mCode;


// main () метод
публична статична void main (String [] args)
// Инициализиране на променливи
Низ s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// Итерация на стойностите на enum
за (Месеци месец: Месеци.стойности())
// Деклариране на обект на изброяване
Месеци m = месец;
превключвател (m.readMCode ())

случай 0:
случай 1:
ако (s1.равно на(""))
s1 = месец.toString ();
друго
s1 + = "и" + месец.toString ();
Система.навън.println (s1 + "са зимни.");

почивка;
случай 2:
случай 3:
ако (s2.равно на(""))
s2 = месец.toString ();
друго
s2 + = "и" + месец.toString ();
Система.навън.println (s2 + "са Spring.");

почивка;
случай 4:
случай 5:
ако (s3.равно на(""))
s3 = месец.toString ();
друго
s3 + = "и" + месец.toString ();
Система.навън.println (s3 + "са Summer.");

почивка;
случай 6:
случай 7:
ако (s4.равно на(""))
s4 = месец.toString ();
друго
s4 + = "и" + месец.toString ();
Система.навън.println (s4 + "са сезонът на дъждовете.");

почивка;
случай 8:
случай 9:
ако (s5.равно на(""))
s5 = месец.toString ();
друго
s5 + = "и" + месец.toString ();
Система.навън.println (s5 + "са есен.");

почивка;
случай 10:
случай 11:
ако (s6.равно на(""))
s6 = месец.toString ();
друго
s6 + = "и" + месец.toString ();
Система.навън.println (s6 + "са Късна есен.");

почивка;



Изход:

След изпълнението на горния код ще се появи следният изход.

Заключение:

Когато трябва да работим с постоянните данни, тогава е по-добре да използваме променливата enum. Различните приложения на типа данни на enum са обяснени в този урок, за да научите предимствата от използването на типа на изброяване в Java.

Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...
Най-добрите игри за игра с ръчно проследяване
Oculus Quest наскоро представи страхотната идея за ръчно проследяване без контролери. С непрекъснато нарастващия брой игри и дейности, които изпълнява...
Как да покажете OSD наслагване в приложения на цял екран за Linux и игри
Играта на цял екран или използване на приложения в режим на цял екран без разсейване може да ви откъсне от съответната системна информация, видима в п...