Switch İfadesi
Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası — ders 36 / 59.
Switch ifadesi, switch ifadeleri yazmanızı daha özlü hale getirerek değerleri doğrudan döndürmenizi sağlayan bir özelliktir. Nasıl çalıştığını görelim.
Değer döndüren temel bir switch ifadesi oluşturun:
int number = 1;
String message = switch(number) {
case 1 -> "One";
case 2 -> "Two";
default -> "Other";
};Yukarıdaki kodu çalıştırdıktan sonra, message değişkeni şunu içerir:
"One"
Ayrıca birden fazla durumu birlikte işleyebilirsiniz:
int day = 2;
String type = switch(day) {
case 1, 2, 3, 4, 5 -> "Weekday";
case 6, 7 -> "Weekend";
default -> "Invalid day";
};Yukarıdaki kodu çalıştırdıktan sonra, type değişkeni şunu içerir:
"Weekday"
Görev
KolaygetDayType adında bir metot oluşturun ki iki argüman alsın:
- Haftanın günü (1-7) temsil eden bir tamsayı (
day) - Dönüş formatını belirleyen bir boolean (
abbreviated)
Metot, gün tipini döndürmek için bir switch ifadesi kullanmalıdır:
- 1-5 günleri için (Pazartesi'den Cuma'ya): kısaltılmamışsa "WORKDAY" döndürün, kısaltılmışsa "WKD"
- 6-7 günleri için (Cumartesi ve Pazar): kısaltılmamışsa "WEEKEND" döndürün, kısaltılmışsa "WKND"
- Herhangi başka bir sayı için: kısaltılmamışsa "INVALID" döndürün, kısaltılmışsa "INV"
Kopya kağıdı
Switch ifadeleri, ok sintaksını (->) kullanarak değerleri doğrudan döndüren özlü switch deyimleri yazmanıza olanak tanır:
int number = 1;
String message = switch(number) {
case 1 -> "One";
case 2 -> "Two";
default -> "Other";
};Birden fazla durumu virgülle ayırarak birlikte işleyebilirsiniz:
int day = 2;
String type = switch(day) {
case 1, 2, 3, 4, 5 -> "Weekday";
case 6, 7 -> "Weekend";
default -> "Invalid day";
};Kendin dene
import java.util.Scanner;
public class Main {
public static String getDayType(int day, boolean abbreviated) {
// Buraya kodunuzu yazın
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int day = Integer.parseInt(scanner.nextLine());
boolean abbreviated = Boolean.parseBoolean(scanner.nextLine());
System.out.println(getDayType(day, abbreviated));
}
}Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık & Akış bölümündeki tüm dersler
1Çok Boyutlu Diziler
2D Diziler Temelleri2D Dizi Elemanlarına Erişim2D Dizilerle İç İçe DöngülerÖzet - 2D DizilerMatris Toplama ve ÇıkarmaJagged Diziler3D Diziler ve ÖtesiYaygın 2D Dizi DesenleriÖzet - Diziler Hakkında Her Şey2HashMap Bölüm 1
HashMap Nedir?HashMap TanımlamaDeğerlere ErişimAnahtarın Varlığını Kontrol EtmeSözlükleri DeğiştirmeÖzet - HashMap3HashMap Bölüm 2
HashMap YöntemlerikeySet() ile YinelemeentrySet() ile Yinelemeİç İçe HashMapÖzet - Depo YönetimiÖzet - HashMap İşlemleri6İleri Akış Kontrolü
Etiketli İfadelerSwitch İfadesiDesen EşleştirmeKoruyucu Yan CümlelerÖzet - Akış Kontrolü9Proje - Benzersiz Kelime Sayacı
Metin Girişi ve DepolamaKelime İşleme