CodeBlanks Logo Icon CodeBlanks

Ternary

? : ile tek satırda koşullu ifade yazmayı öğrenirsin.

Ternary

Ternary, tek satırda koşullu ifade yazmanın kısa yoludur: koşul ? değerA : değerB. Koşul true ise değerA, false ise değerB üretilir. Sonuç bir değişkene atanabilir ya da doğrudan yazdırılabilir.

Örneğin var label = n >= 0 ? "pozitif" : "negatif"; ile n'in işaretine göre etiket seçilir. Ternary, basit iki durumlu seçimlerde if/else'in kısa halidir; ancak okunaklılık için çok karmaşık ternary'lerden kaçın.

Ternary ve if/else

Ternary bir ifadedir; bir değer üretir ve bir değişkene atanabilir. if/else ise bir deyimdir; bir blok çalıştırır ama değer üretmez. İkisi farklı ihtiyaçlar içindir.

Basit iki durumlu atamalarda ternary daha kısadır: var s = x > 0 ? "poz" : "neg";. Ancak yan etkiler (print, atama) gerektiren karmaşık dallanmalarda if/else daha okunaklıdır. Pratik ilke: ternary'yi yalnızca değer seçmek için kullan; yan etkileri if/else'ye bırak.

Uygulama Çift/tek etiketi

int türünde n değişkeni tanımla ve değeri 8 olsun. label adında bir değişken tanımla ve n % 2 == 0 ? "çift" : "tek" ternary ifadesine ata. Sonra print(label); ile yazdır. Çıktı tek satırda çift olmalı.

Başlangıç kodu

main.dart
// n değişkenini tanımla, ternary ile çift/tek etiketini label'a ata ve yazdır

Örnek çözüm

main.dart
int n = 8;
var label = n % 2 == 0 ? "çift" : "tek";
print(label);

Beklenen çıktı

çift

Soru ve cevaplar

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

1 ternary'i tamamla

Soru
int n = 7;
var label = n % 2 == 0 ____ "çift" : "tek";
print(label);
Cevap
int n = 7;
var label = n % 2 == 0 ? "çift" : "tek";
print(label);

Açıklama: ? işareti koşul ile true değerini ayırır.

2 Parçayı işlevine eşle

Kavram Anlamı
koşul ? Koşul ve true dalı
: değerB False dalı
if/else İki dallı deyim
ternary İki dallı ifade

3 Bu kodun çıktısı ne olur?

main.dart
int n = 7;
print(n % 2 == 0 ? "çift" : "tek");
  • true
  • çift
  • tek Doğru cevap
  • 0

Açıklama: 7 % 2 == 0 false olduğundan 'tek' üretilir.

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