CodeBlanks Logo Icon CodeBlanks

switch ile enum

switch ile enum kullanmayı öğrenirsin.

switch ile enum kullan

switch bir enum sabitine göre dallanmak için idealdir. Her case enum sabitinin adını doğrudan yazar; Day. öneki konmaz.

Day d = Day.FRIDAY;
switch (d) {
  case MONDAY: System.out.println("Hafta başı"); break;
  case FRIDAY: System.out.println("Hafta sonu yakın"); break;
}

Sabit adı case yanında bare olarak yazılır; case Day.MONDAY: yazmak derleme hatasıdır. break koymazsan dallar birbirine akar. default dalı kalan tüm sabitleri yakalar.

default dalı

default dalı switch'te hiçbir case eşleşmezse çalışır. Enum tüm sabitleri kapsıyorsa default gereksizdir; ama yeni sabit eklendiğinde güvenlik ağı olur.

switch (d) {
  case SATURDAY:
  case SUNDAY: System.out.println("Hafta sonu"); break;
  default: System.out.println("Hafta içi");
}

Birden fazla sabiti aynı dala bağlamak için arka arkaya case yazılır. default en sona konur ama sırası esnektir. Yeni sabit eklendiğinde derleyici tüm sabitleri kapsamadığında uyarı verebilir.

Uygulama Gün için ileti yazdır

Day enumunu (en az MONDAY ve FRIDAY) tanımla. Day.FRIDAY için switch kur; case FRIDAY dalında Hafta sonu yakın yazdır. Day d = Day.FRIDAY; ile başla.

Başlangıç kodu

Main.java
public class Main {
  public static void main(String[] args) {
    // Day enumunu tanımla, d'ye FRIDAY ata, switch ile ileti yazdır
  }
}

// Day enumunu buraya tanımla

Örnek çözüm

Main.java
enum Day { MONDAY, FRIDAY }
// main içinde:
Day d = Day.FRIDAY;
switch (d) {
  case FRIDAY: System.out.println("Hafta sonu yakın"); break;
}

Beklenen çıktı

Hafta sonu yakın

Soru ve cevaplar

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

1 switch ile enum kullanırken case yanına ne yazılır?

  • "MONDAY"
  • MONDAY Doğru cevap
  • Day.MONDAY
  • Day

Açıklama: case yanına sabit adı bare yazılır; Day. öneki konmaz.

2 case dalını tamamla

Soru
switch (d) {
  case MONDAY: System.out.println("Hafta başı"); ____
  case FRIDAY: System.out.println("Hafta sonu yakın"); break;
}
Cevap
switch (d) {
  case MONDAY: System.out.println("Hafta başı"); break
  case FRIDAY: System.out.println("Hafta sonu yakın"); break;
}

Açıklama: break daldan çıkmayı sağlar; olmadan dallar birbirine akar.

3 Sabitini çıktısıyla eşleştir

Kavram Anlamı
MONDAY Hafta başı
FRIDAY Hafta sonu yakın
SUNDAY Hafta sonu
WEDNESDAY Orta gün

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