Çok Etiketli Durumlar
Birden çok etiketi birlikte gruplayın
Çok Etiketli Durumlar, CoddyKit'te ücretsiz bir Java Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Java Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Java Academy kursu toplamda 4 dersten oluşur.
Etiketleri Gruplama
Çoğu zaman birden fazla değer aynı işlemi tetiklemelidir. Modern switch yapısı, tek bir durum içinde virgüllerle ayrılmış birden fazla etiket listelemenize ve bunları tek bir dalda birleştirmenize olanak tanır.
Virgülle Ayrılmış Etiketler
Değerleri -> işaretinden önce aralarına virgül koyarak art arda yazın. Bu değerlerden herhangi biri eşleşirse dal çalışır.
public class Main {
public static void main(String[] args) {
int day = 7;
switch (day) {
case 1, 2, 3, 4, 5 -> System.out.println("Weekday");
case 6, 7 -> System.out.println("Weekend");
}
}
}Sesli Harfleri Bulma
Klasik bir kullanım: beş ayrı durum yazmak yerine tüm sesli harfleri tek bir dalda gruplamak.
public class Main {
public static void main(String[] args) {
char c = 'o';
switch (c) {
case 'a', 'e', 'i', 'o', 'u' -> System.out.println("Vowel");
default -> System.out.println("Consonant");
}
}
}İfadelerde Çoklu Etiket
Çok etiketli durumlar switch ifadelerinde de çalışır ve listelenen etiketlerin herhangi biri için aynı değeri döndürür.
public class Main {
public static void main(String[] args) {
int month = 7;
String season = switch (month) {
case 12, 1, 2 -> "Winter";
case 3, 4, 5 -> "Spring";
case 6, 7, 8 -> "Summer";
default -> "Autumn";
};
System.out.println(season);
}
}Gruplanmış Dize Etiketleri
Dize değerleri de gruplanabilir. Burada birkaç farklı komut yazımı tek bir işleme eşleniyor.
public class Main {
public static void main(String[] args) {
String cmd = "quit";
switch (cmd) {
case "quit", "exit", "q" -> System.out.println("Closing");
case "help", "h" -> System.out.println("Showing help");
default -> System.out.println("Unknown command");
}
}
}Gruplanmış Numaralandırma Etiketleri
Numaralandırma sabitleri de aynı dalı paylaşabilir; bu, kategori mantığını kısa tutar.
public class Main {
enum Day { MON, TUE, WED, THU, FRI, SAT, SUN }
public static void main(String[] args) {
Day d = Day.SAT;
String kind = switch (d) {
case SAT, SUN -> "Rest";
default -> "Work";
};
System.out.println(kind);
}
}Yinelenen Etiket Yok
Her etiket tüm switch yapısı boyunca yalnızca bir kez görünebilir. Aynı değeri iki dalda listelemek bir derleme hatasıdır; çünkü derleyici hangi dalı çalıştıracağına karar veremez.
public class Main {
public static void main(String[] args) {
int n = 2;
switch (n) {
case 1, 2 -> System.out.println("Low");
case 3, 4 -> System.out.println("High");
default -> System.out.println("Other");
}
}
}Eski Sonraki Dala Geçişle Karşılaştırma
Eski iki nokta biçiminde gruplama, boş ve sonraki duruma geçen durumların tek bir ortak gövdenin üzerine sıralanmasını gerektirirdi. Virgül sözdizimi çok daha açıktır ve yanlışlıkla sonraki dala geçişi önler.
public class Main {
public static void main(String[] args) {
int code = 3;
switch (code) {
case 1, 3, 5, 7, 9 -> System.out.println("Odd");
case 0, 2, 4, 6, 8 -> System.out.println("Even");
}
}
}Bloklarla Gruplama
Gruplanmış bir durum blok gövdesi de kullanabilir. Eşleşen etiketlerden herhangi biri tüm bloğu çalıştırır.
public class Main {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A', 'B' -> {
System.out.println("Pass");
System.out.println("Well done");
}
default -> System.out.println("Try again");
}
}
}Değer Üretmeyle Birleştirme
Gruplanmış etiketler ve yield, ortak bir dalda hesaplama gerektiğinde birlikte çalışır.
public class Main {
public static void main(String[] args) {
int n = 4;
int points = switch (n) {
case 1, 2, 3 -> 10;
case 4, 5, 6 -> {
int bonus = n * 2;
yield 20 + bonus;
}
default -> 0;
};
System.out.println(points);
}
}Okunabilirlik Kazancı
Çok etiketli durumlar, tekrarlanan dallardan oluşan uzun listeleri birkaç açık gruba indirerek amacı bir bakışta anlaşılır kılar.
public class Main {
public static void main(String[] args) {
int http = 204;
String group = switch (http / 100) {
case 1, 2, 3 -> "OK-ish";
case 4, 5 -> "Error";
default -> "Unknown";
};
System.out.println(group);
}
}Hızlı Kontrol
Modern Java'da birden fazla değerin aynı switch dalını çalıştırmasını nasıl sağlarsınız?
Özet
Çok etiketli durumları öğrendiniz:
- Değerleri
->işaretinden önce virgülle ayırarak listeleyin - Tamsayılarla, karakterlerle, dizelerle ve numaralandırmalarla çalışır
- Eski biçimin aksine yanlışlıkla sonraki dala geçiş olmaz
- Her etiket yalnızca bir kez görünebilir
- Gerektiğinde bloklar ve
yieldile birleştirin
Sıkça Sorulan Sorular
“Çok Etiketli Durumlar” dersi ücretsiz mi?
Evet — “Çok Etiketli Durumlar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Java Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Java Academy kursu toplamda 4 dersten oluşur.
“Çok Etiketli Durumlar” dersinde ne öğreneceğim?
Birden çok etiketi birlikte gruplayın Java Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Java Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Java Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Çok Etiketli Durumlar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Java Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Java Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Ok Biçimli switch
- İfade Olarak switch
- yield Anahtar Sözcüğü
- Çok Etiketli Durumlar