CodeBlanks Logo Icon CodeBlanks

Enum tanımlama

enum ile sabit kümesini öğrenirsin.

Enum: adlandırılmış sabit kümesi

Bir enum sabit bir değer kümesini temsil eder. Haftanın günleri, mevsimler veya yönler gibi sınırlı seçenekler için kullanılır. Her sabit büyük harfle yazılır.

enum Day {
  MONDAY, TUESDAY, WEDNESDAY,
  THURSDAY, FRIDAY, SATURDAY, SUNDAY
}

enum aslında özel bir sınıftır; sabitler otomatik olarak public static final olur. Bir değişkene sabit atarken Day d = Day.MONDAY; yazarsın. Bu sayede yazım hataları derleme zamanında yakalanır; dize kullanmaktan daha güvenlidir.

ordinal ve name

Her enum sabitinin bir sıra numarası (ordinal()) ve adı (name()) vardır. Sıra numarası sıfırdan başlar ve tanımlanma sırasına göre artar.

Day d = Day.WEDNESDAY;
System.out.println(d.ordinal()); // 2
System.out.println(d.name());    // WEDNESDAY

ordinal() nadiren gerekir; sıra numarasına güvenmek yerine sabitin kendisini kullanmak daha güvenlidir. name() ise sabitin dize karşılığını verir ve kayıt tutmada işe yarar.

Uygulama Renk enumu tanımla ve yazdır

RED, GREEN, BLUE sabitlerinden oluşan bir Color enumu tanımla. Bir değişkene RED sabitini ata ve yazdır.

Başlangıç kodu

Main.java
public class Main {
  public static void main(String[] args) {
    // Color enumunu tanımla, RED'i ata, yazdır
  }
}

// Color enumunu buraya tanımla

Örnek çözüm

Main.java
enum Color { RED, GREEN, BLUE }
// main içinde:
Color c = Color.RED;
System.out.println(c);

Beklenen çıktı

RED

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Enum sabitini açıklamasıyla eşleştir

Kavram Anlamı
MONDAY Haftanın ilk günü
SUNDAY Haftanın son günü
WEDNESDAY Orta gün
FRIDAY Cuma

2 Bir enum sabiti ata

Soru
Day d = Day.____;
Cevap
Day d = Day.MONDAY;

Açıklama: enum sabitleri büyük harfle yazılır.

3 Aşağıdakilerden hangisi geçerli bir enum tanımıdır?

  • enum Color = RED, GREEN, BLUE; Doğru cevap
  • enum Color { RED, GREEN, BLUE }
  • enum Color { red, green, blue }
  • Color enum { RED, GREEN, BLUE }

Açıklama: enum sabitleri büyük harfle yazılır ve küme parantezi içinde virgülle ayrılır.

Başlangıç bölümündeki tüm dersler