Ternary
- Dart kursu
- Başlangıç
- Ders 40/116
- 4 dk
? : 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
// n değişkenini tanımla, ternary ile çift/tek etiketini label'a ata ve yazdırÖrnek çözüm
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
int n = 7;
var label = n % 2 == 0 ____ "çift" : "tek";
print(label);
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?
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.