Jawa

Tutorial Enum Java

Tutorial Enum Java
Java enum adalah jenis Java khusus yang ditentukan oleh kelas Java. Ia juga disebut jenis penghitungan Java. Ini diperkenalkan dalam Java versi 5 pertama, yang terutama digunakan untuk menentukan kumpulan pemalar. Jenis keselamatan kompilasi dijamin dengan menggunakan jenis enum. Oleh itu, apabila semua kemungkinan nilai pemboleh ubah diketahui sebelum masa penyusunan, maka lebih baik menggunakan jenis enum. Ia menentukan kelas yang selalu meluas dari java.lang.Enum. Bagaimana jenis enum dapat dinyatakan dan digunakan di Java ditunjukkan dalam tutorial ini.

Sintaks:

enum awam nama_nama
nilai1, nilai2,… nilaiN

Di sini, enum kata kunci digunakan untuk menyatakan jenis penghitungan, dan nilainya akan menjadi nilai tetap.  Penggunaan pelbagai jenis enum di Java ditunjukkan di bahagian seterusnya dari tutorial ini.

Contoh-1: Menyatakan dan mengulangi nilai enum

Bagaimana nilai enum dapat ditentukan dan diakses menggunakan gelung 'untuk' ditunjukkan dalam contoh berikut. Di sini, nama tujuh minggu dalam bentuk pendek diberikan sebagai nilai enum. Seterusnya, gelung 'untuk' digunakan untuk mengulang setiap nilai dari hari kerja dan mencetak setiap nilai dalam setiap baris sebagai output.

kelas awam enum1
// Tentukan jenis enum
hari minggu enum awam
Min, Isnin, Sel, Rabu, Kam, Jumaat, Sabtu

// kaedah utama ()
utama kekosongan statik awam (String [] args)
Sistem.keluar.println ("Bentuk pendek 7 hari bekerja adalah:");
// Menukar nilai enum
untuk (hari kerja hari: hari kerja.nilai ())
Sistem.keluar.println (hari);


Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod.

Contoh-2: Menggunakan enum dalam pernyataan if-else

Contoh berikut menunjukkan penggunaan pemboleh ubah enum dengan pernyataan if-else-if. Di sini, pemboleh ubah enum bernama kursus dinyatakan dengan kod empat kursus sebagai nilai. Kelas mengandungi konstruktor yang akan memulakan pemboleh ubah yang dinamakan kursus dengan sebarang nilai enum. Di sini, kod kursus akan diberikan semasa pembuatan objek, dan ia akan diperiksa dengan setiap keadaan 'if' dan mencetak mesej di mana keadaan kembali benar. Sekiranya semua syarat kembali salah, maka mesej dari bahagian lain akan dicetak.

kelas awam enum2
// Tentukan jenis enum
kursus enum awam
CSE101, CSE205, CSE308, CSE407

// Menyatakan pemboleh ubah jenis enum
kursus kursus;
// Menyatakan pembina
public enum2 (kursus kursus)
ini.kursus = kursus;

a
utama kekosongan statik awam (String [] args)
// Menyatakan objek
enum2 object1 = enum2 baru (kursus.CSE205);
// Periksa nilai kursus
sekiranya (objek1.kursus == kursus.CSE101)
Sistem.keluar.cetak ("Nama kursus adalah Komputer Fundamental");
lain jika (objek1.kursus == kursus.CSE205)
Sistem.keluar.cetak ("Nama kursus adalah Struktur Data");
lain jika (objek1.kursus == kursus.CSE308)
Sistem.keluar.cetak ("Nama kursus adalah Sistem Operasi");
lain jika (objek1.kursus == kursus.CSE407)
Sistem.keluar.cetak ("Nama kursus adalah Pengaturcaraan Unix");
yang lain
Sistem.keluar.cetak ("Kod kursus tidak ada");

Pengeluaran:

Dalam kod di atas, nilai enum, CSE205 disediakan pada saat penciptaan objek yang dipadankan dengan kondisi 'if' kedua dan mencetak pesan, "Nama kursus adalah Struktur Data."

Contoh-3: Menggunakan enum dengan konstruktor dan kaedah

Bagaimana kaedah enum konstruktor dan enum dapat ditentukan dan digunakan dalam java ditunjukkan dalam contoh berikut. Dua belas nilai enum dengan kod ditentukan dengan dua belas bulan dalam bentuk pendek. Pembina enum dengan parameter dinyatakan dalam kod yang menginisialisasi pemboleh ubah integer peribadi bernama kod m. Kaedah enum yang dinamakan bacaMCode () dinyatakan mengembalikan nilai kod m. Di dalam utama () kaedah, enam pemboleh ubah diisytiharkan dan diinisialisasi dengan rentetan kosong untuk menyimpan nilai enum tertentu berdasarkan nilai kes-suis. Di sini, gelung 'untuk' digunakan untuk mengulangi setiap nilai enum dan menyatakan objek enum berdasarkan setiap nilai. Apabila mana-mana objek enum dibuat, maka kod nilai enum yang sesuai akan diinisialisasi menjadi kod m. Nilai pulangan bagi bacaMCode () kaedah akan digunakan dalam suis untuk dipadankan dengan nilai kes. Di sini, sekatan pernyataan tertentu ditakrifkan untuk dua nilai kes. Contohnya, 0 dan 1 akan dikembalikan sebagai kod m selama berbulan-bulan, JAN dan FEB. Nama dua bulan ini akan disimpan dalam pemboleh ubah s1 dan mencetak nilainya dengan menggabungkan dengan rentetan lain. Tugas yang sama akan dilakukan dengan lima pemboleh ubah yang lain, s2, s3, s4, s5, dan s6, selama sepuluh bulan yang lain.

Mengikut kod, Musim Sejuk akan dicetak untuk bulan tersebut JAN dan FEB. Musim bunga akan dicetak untuk bulan MAR dan APR. Musim panas akan dicetak untuk bulan MUNGKIN dan JUN. Musim hujan akan dicetak untuk bulan JUL dan OGOS. Musim luruh akan dicetak untuk bulan SEP dan OCT dan Akhir Musim Luruh akan dicetak untuk bulan NOV dan DEC.

kelas awam enum3
bulan enum awam
JAN (0), FEB (1), MAR (2), ARP (3), MEI (4), JUN (5),
JUL (6), OGOS (7), SEP (8), OCT (9), NOV (10), DEC (11);
int mCode persendirian;
// pembina enum
Bulan (int mCode)
ini.mCode = mCode;

// kaedah enum
int int readMCode ()
kembalikan ini.kod m;


// kaedah utama ()
utama kekosongan statik awam (String [] args)
// Memulakan pemboleh ubah
Rentetan s1 = "", s2 = "", s3 = "", s4 = "", s5 = "", s6 = "";
// Menukar nilai enum
untuk (Bulan bulan: Bulan.nilai ())
// Menyatakan objek enum
Bulan m = bulan;
suis (m.bacaMCode ())

kes 0:
kes 1:
sekiranya (s1.sama dengan (""))
s1 = bulan.menjalin();
lain
s1 + = "dan" + bulan.menjalin();
Sistem.keluar.println (s1 + "adalah Musim Sejuk.");

rehat;
kes 2:
kes 3:
sekiranya (s2.sama dengan (""))
s2 = bulan.menjalin();
lain
s2 + = "dan" + bulan.menjalin();
Sistem.keluar.println (s2 + "ialah Spring.");

rehat;
kes 4:
kes 5:
sekiranya (s3.sama dengan (""))
s3 = bulan.menjalin();
lain
s3 + = "dan" + bulan.menjalin();
Sistem.keluar.println (s3 + "adalah Musim Panas.");

rehat;
kes 6:
kes 7:
sekiranya (s4.sama dengan (""))
s4 = bulan.menjalin();
lain
s4 + = "dan" + bulan.menjalin();
Sistem.keluar.println (s4 + "adalah Musim Hujan.");

rehat;
kes 8:
kes 9:
sekiranya (s5.sama dengan (""))
s5 = bulan.menjalin();
lain
s5 + = "dan" + bulan.menjalin();
Sistem.keluar.println (s5 + "adalah Musim Luruh.");

rehat;
kes 10:
kes 11:
sekiranya (s6.sama dengan (""))
s6 = bulan.menjalin();
lain
s6 + = "dan" + bulan.menjalin();
Sistem.keluar.println (s6 + "adalah Musim Luruh Akhir.");

rehat;



Pengeluaran:

Output berikut akan muncul setelah melaksanakan kod di atas.

Kesimpulan:

Apabila kita perlu bekerja dengan data tetap, maka lebih baik menggunakan pemboleh ubah enum. Penggunaan pelbagai jenis data enum dijelaskan dalam tutorial ini untuk mengetahui faedah menggunakan jenis penghitungan di Java.

Cara Menggunakan Mesin Cheat GameConqueror di Linux
Artikel ini merangkumi panduan mengenai penggunaan mesin cheat GameConqueror di Linux. Ramai pengguna yang bermain permainan di Windows sering menggun...
Emulator Konsol Permainan Terbaik untuk Linux
Artikel ini akan menyenaraikan perisian emulasi konsol permainan popular yang tersedia untuk Linux. Emulation adalah lapisan keserasian perisian yang ...
Distro Linux Terbaik untuk Permainan pada tahun 2021
Sistem operasi Linux telah jauh dari tampilan asal, ringkas dan berasaskan pelayan. OS ini telah berkembang pesat dalam beberapa tahun kebelakangan in...