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’zgaruvchi — xotirada 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.