CodeBlanks Logo Icon CodeBlanks

Özet - Koşullar

if, switch ve pattern matching'i birleştirerek bir hafta günü uygulaması yazarsın.

Özet - Koşullar

Bu grupta if, else, switch, Dart 3 switch expression ve ternary'yi öğrendin. Şimdi bunları birleştirerek bir hafta günü uygulaması yazdıracağız.

Uygulama, 1-7 arası bir tamsayıdan gün adını üretecek. Birden fazla değeri eşleştirmek için switch expression en uygun yapıdır; _ wildcard'ı beklenmedik değerleri yakalar. Amacımız, doğru yapıyı doğru yerde kullanmak.

Plan

Uygulamayı adım adım kuracağız: (1) int day değişkenine bir değer ver; (2) switch (day) ifadesini name değişkenine ata; (3) her sayı için bir => dalı yaz; (4) _ wildcard'ı ile beklenmedik değerleri yakala; (5) print(name); ile yazdır.

Bu yapı, gerçek bir takvim uygulamasının da çekirdeğidir. Kullanıcıdan gelen sayıyı gün adına çevirmek, ekran görüntülerinde sık karşına çıkar. _ dalı, hatalı girişleri nazikçe yakalamanızı sağlar.

Uygulama Hafta günü uygulaması

int türünde day değişkeni tanımla ve değeri 3 olsun. name adında bir değişken tanımla ve switch (day) ifadesine ata: 1 => "Pazartesi", 2 => "Salı", 3 => "Çarşamba", _ => "Bilinmiyor" dallarını kullan. Sonra print(name); ile yazdır. Çıktı tek satırda Çarşamba olmalı.

Başlangıç kodu

main.dart
// day değişkenini tanımla, switch expression ile name'e gün adını ata ve yazdır

Örnek çözüm

main.dart
int day = 3;
var name = switch (day) {
  1 => "Pazartesi",
  2 => "Salı",
  3 => "Çarşamba",
  _ => "Bilinmiyor",
};
print(name);

Beklenen çıktı

Çarşamba

Soru ve cevaplar

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

1 1-7 değerini gün adına çevirmek için en uygun yapı hangisi?

main.dart
int day = 3;
  • if/else zinciri
  • while döngüsü
  • for döngüsü
  • switch expression Doğru cevap

Açıklama: switch expression, çok değerli eşleştirmede en okunaklı yapıdır.

2 wildcard dalını tamamla

Soru
var name = switch (day) {
  1 => "Pazartesi",
  2 => "Salı",
  3 => "Çarşamba",
  ____ => "Bilinmiyor",
};
Cevap
var name = switch (day) {
  1 => "Pazartesi",
  2 => "Salı",
  3 => "Çarşamba",
  _ => "Bilinmiyor",
};

Açıklama: _ wildcard'ı 'diğer her şey' anlamına gelir.

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