Darsliklar Kotlin O’zgaruvchilar

Kotlin Kotlin O’zgaruvchilar

O’zgaruvchilar — dasturlashning eng bazaviy tushunchasi. Har qanday ma’lumot — foydalanuvchi ismi, mahsulot narxi, hisob natijasi — o’zgaruvchida saqlanadi. Kotlin’da o’zgaruvchi val (o’zgarmas) yoki var (o’zgaruvchan) bilan e’lon qilinadi.

O’zgaruvchixotirada ma’lumot saqlaydigan nomlangan idish. Kotlin statik tipizatsiyalangan — o’zgaruvchi turi aniqlangach o’zgarmaydi.

val va var

Kotlin’da ikki xil o’zgaruvchi bor: val — o’zgarmas, var — o’zgaruvchan:

fun main() {
    val ism = "Master Sherkulov"   // o'zgarmas
    var yosh = 30                  // o'zgaruvchan
    yosh = 31
    println("$ism, $yosh yosh")
}
Master Sherkulov, 31 yosh

val ism ni o’zgartirib bo’lmaydi (agar ism = "boshqa" desangiz, xato), var yosh esa o’zgaradi. Kotlin’da imkon bo’lsa val afzal ko’riladi — bu kodni xavfsizroq qiladi.

Tur bilan yoki avtomatik

O’zgaruvchi turi avtomatik aniqlanadi yoki qo’lda yoziladi (nomdan keyin, ikki nuqta bilan):

fun main() {
    val ism = "Farrux"          // avtomatik (String)
    val yosh: Int = 26          // qo'lda
    val narx: Double = 15000.5
    println("$ism, $yosh, $narx")
}
Farrux, 26, 15000.5

val ism = "Farrux" — tur String deb aniqlandi. val yosh: Int — tur qo’lda yozildi. Ikkala usul ham to’g’ri.

val va var farqi

Ikki kalit so’zni jadvalda solishtiramiz:

Xususiyat val var
Qiymatni o’zgartirish mumkin emas mumkin
Tavsiya asosiy tanlov zarur bo’lganda
Xavfsizlik yuqoriroq pastroq

Amaliy qoida: avval val ishlating; agar qiymat o’zgarishi kerak bo’lsagina var ga o’ting.

Kechiktirilgan e’lon

Kotlin’da o’zgaruvchini avval e’lon qilib, keyin qiymat berish mumkin (tur ko’rsatilsa):

fun main() {
    val son: Int
    son = 42
    println(son)
}
42

val son: Int — e’lon qilindi, son = 42 — qiymat berildi. Diqqat: val uchun qiymat faqat bir marta beriladi.

Xulosa

Bu bo’limda val (o’zgarmas) va var (o’zgaruvchan) o’zgaruvchilarni, turni yozish usullarini va ularning farqini ko’rib chiqdik. Kotlin’da val afzal ko’riladi. Keyingi darsda o’zgarmaslarga o’tamiz.