if ifadesi
- Kotlin kursu
- Başlangıç
- Ders 38/116
- 5 dk
Kotlin'de if'in ifade olarak kullanımını öğrenirsin.
if ifadesi
Kotlin'de if bir deyim (statement) değil, aynı zamanda bir ifade (expression) olabilir. Yani bir değer döndürebilir. Bu, Java'daki üçlü işleç (?:) yerine geçer.
val age = 20
val status = if (age >= 18) "Yetişkin" else "Çocuk"
println(status) // Yetişkinİfade olarak kullanıldığında her dal bir değer döndürmeli ve else zorunludur. Değer, atanacak değişkene ya da metot parametresine doğrudan verilebilir.
Bu biçim daha kısa ve okunaklıdır; özellikle basit iki durumlu seçimlerde tercih edilir.
Uygulama if ifadesiyle durum ata
Bir fun main() yaz. val age değişkenine 20 ata. val status = if (age >= 18) "Yetişkin" else "Çocuk" ifadesini yaz. println(status) ile sonucu yazdır.
Başlangıç kodu
fun main() {
// if ifadesi kullan
}Örnek çözüm
fun main() {
val age = 20
val status = if (age >= 18) "Yetişkin" else "Çocuk"
println(status)
}Beklenen çıktı
Yetişkin
Deyim ve ifade ayrımı
if deyim ve ifade biçimlerini ayırt etmek önemlidir. Deyim olarak yazılırsa değer döndürmez; yalnızca blok çalıştırır.
// Deyim: değer döndürmez
if (x > 0) { println("Pozitif") }
// İfade: değer döndürür
val sign = if (x > 0) "+" else "-"İfade biçiminde dalların türleri uyuşmalıdır. if (x > 0) 1 else "a" derleme hatası verir; çünkü bir dal Int, diğeri String.
Bloklar da değer döndürebilir: val r = if (x > 0) { compute() } else { 0 } — bloğun son ifadesi değer olur.
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 else dalını tamamla
val status = if (age >= 18) "Yetişkin" ____ "Çocuk"
val status = if (age >= 18) "Yetişkin" else "Çocuk"
Açıklama: if ifadesinde else diğer dalın değerini verir.
2 if biçimlerini eşleştir
| Kavram | Anlamı |
|---|---|
if (x) { ... } |
Deyim |
val s = if (x) a else b |
İfade |
else if |
Zincir dal |
if without else |
Koşullu blok |
3 if ifadesinde else neden zorunludur?
- Çünkü her dal bir değer döndürmeli Doğru cevap
- Süslü parantez için
- Derleyici hatası vermez
- Performans için
Açıklama: İfade olarak kullanıldığında her dal bir değer üretmeli; else olmadan eksik kalır.