Sobes.tech
Junior

Kotlin dasturlash tilida 'when' ifodasining tushunchasini tushuntiring.

sobes.tech AI

AIdan javob

Kotlin'da when, boshqa tillardagi an'anaviy switch ni o'rnini bosadigan universal struktural operator hisoblanadi. U ifoda sifatida (qiymat qaytaradigan) yoki operator sifatida ishlatilishi mumkin.

Asosiy imkoniyatlar:

  • Qiymatlarni taqqoslash: Aniq qiymat bilan mos kelish.

    fun describe(obj: Any): String =
        when (obj) {
            1           -> "Bir"
            "Hello"     -> "Salom"
            is Long     -> "Uzoq"
            !is String  -> "Qator emas"
            else        -> "Noma'lum"
        }
    
  • Turi tekshiruvi (is/!is): Ma'lumot turlari bilan mos kelish.

  • Kirish tekshiruvi (in/!in): Oraliq yoki to'plamga kirishni tekshirish.

    fun checkRange(x: Int): String =
        when (x) {
            in 1..10   -> "Oraliqda ijobiy raqam"
            !in 10..20 -> "Ikkinchi oraliqda emas"
            else       -> "Yuqoridagilardan emas"
        }
    
  • Argumentsiz: if-else if-else ketma-ketligining yanada moslashuvchan o'rnini bosadi. Shartlar ketma-ket baholanadi.

    fun checkBoolean(x: Boolean, y: Boolean): String =
        when {
            x && y -> "Ikkala to'g'ri"
            !x && !y -> "Ikkala noto'g'ri"
            else -> "Aralash"
        }
    
  • Qiymatni qaytarish: Agar when ifoda sifatida ishlatilsa, u to'liq bo'lishi kerak (barcha mumkin bo'lgan holatlarni qamrab olishi yoki else bo'lagi bo'lishi kerak).

when an'anaviy switch ga nisbatan kodning o'qilishi va xavfsizligini oshiradi.