CodeBlanks Logo Icon CodeBlanks

if ifadesi

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

Main.kt
fun main() {
    // if ifadesi kullan
}

Örnek çözüm

Main.kt
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

Soru
val status = if (age >= 18) "Yetişkin" ____ "Çocuk"
Cevap
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.

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