switch ile enum
- Java kursu
- Başlangıç
- Ders 104/116
- 4 dk
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
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
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
switch (d) {
case MONDAY: System.out.println("Hafta başı"); ____
case FRIDAY: System.out.println("Hafta sonu yakın"); break;
}
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 |