Menu
Coddy logo textTech

When İfadesi

Coddy'nin Kotlin Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 32 / 93.

Karşılaştırılacak birden fazla belirli değer olduğunda, uzun else if ifadeleri zincirlerini okumak zorlaşabilir. Kotlin, bir değeri birden fazla olasılıkla eşleştirmek için daha okunaklı bir alternatif olarak when ifadesini sunar.

fun main() {
    val day = 3
    
    val dayName = when (day) {
        1 -> "Monday"
        2 -> "Tuesday"
        3 -> "Wednesday"
        4 -> "Thursday"
        5 -> "Friday"
        else -> "Weekend"
    }
    
    println(dayName)  // Yazdırır: Wednesday
}

when ifadesi bir değer alır ve bu değeri her dal ile karşılaştırır. Bir eşleşme bulunduğunda, ilgili sonuç döndürülür. else dalı, listelenen durumların hiçbiriyle eşleşmeyen tüm değerleri ele alır.

Birden çok değeri tek bir dalda virgüllerle ayırarak da eşleştirebilirsiniz:

fun main() {
    val day = 6
    
    val type = when (day) {
        1, 2, 3, 4, 5 -> "Weekday"
        6, 7 -> "Weekend"
        else -> "Invalid"
    }
    
    println(type)  // Yazdırır: Weekend
}

Değer üreten bir when kapsamlı olmalıdır: olası her girdinin bir sonucu olmalıdır. Bu tamsayı örneklerinde else gerekir, ancak hem true hem de false dallarına sahip bir Boolean when gerekmez.

challenge icon

Görev

Kolay

Aşağıdaki değişken size verilmiştir:

val month = 4

Ay numarasına göre mevsimi belirlemek ve sonucu season adlı bir değişkende saklamak için when ifadesini kullanın.

Koşullar:

  • 12, 1, 2 ayları "Winter" döndürmelidir
  • 3, 4, 5 ayları "Spring" döndürmelidir
  • 6, 7, 8 ayları "Summer" döndürmelidir
  • 9, 10, 11 ayları "Fall" döndürmelidir
  • Diğer tüm değerler "Invalid month" döndürmelidir

Aynı mevsime ait ayları gruplandırmak için when dallarında virgülle ayrılmış değerleri kullanın.

season değişkeninin değerini yazdırın.

Kendin dene

fun main() {
    val month = 4
    
    // TODO: Kodunuzu aşağıya yazın
    // Aya göre mevsimi belirlemek için bir when ifadesi kullanın
    // Sonucu 'season' adlı bir değişkende saklayın
    
    
    // Sonucu yazdırın
    println(season)
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Kotlin playground