Data Types

...

SU

Kotlin Ma'lumot Turlari

Kotlin'da o'zgaruvchining turi uning qiymati orqali aniqlanadi:

Misol

val myNum = 5             // Int
val myDoubleNum = 5.99    // Double
val myLetter = 'D'        // Char
val myBoolean = true      // Boolean
val myText = "Hello"      // String

Siz avvalgi bobda ko'rdingizki, agar xohlasangiz, turini aniq belgilash mumkin:

Misol

val myNum: Int = 5                // Int
val myDoubleNum: Double = 5.99    // Double
val myLetter: Char = 'D'          // Char
val myBoolean: Boolean = true     // Boolean
val myText: String = "Hello"      // String

Ba'zan turini belgilash kerak bo'lishi mumkin, lekin ko'p hollarda bu talab qilinmaydi. Turlarning nima anglatishini bilish yaxshi.

Turlarni belgilash haqida keyinchalik ko'proq ma'lumot olasiz.

Ma'lumot turlari quyidagi guruhlarga bo'linadi:

  • Sonlar
  • Belgilar
  • Boolean
  • String
  • Massivlar

Sonlar

Son turidagi turlar ikkita guruhga bo'linadi:

Butun son turlari to'liq sonlarni, ijobiy yoki salbiy (masalan, 123 yoki -456), o'nli qismlarsiz saqlaydi. Yaroqli turlar: Byte, Short, Int va Long.

O'nli nuqtali turlar sonlarni o'nli qism bilan ifodalaydi, bir yoki bir nechta o'nlik raqamlarni o'z ichiga oladi. Ikki turi mavjud: Float va Double.

Agar siz sonli o'zgaruvchi uchun turini belgilamasangiz, u ko'pincha butun sonlar uchun Int va o'nli nuqtali sonlar uchun Double sifatida qaytariladi.

Butun Son Turlari

Byte Byte ma'lumot turi -128 dan 127 gacha bo'lgan to'liq sonlarni saqlashi mumkin. Agar qiymat -128 va 127 oralig'ida bo'lsa, bu Int yoki boshqa butun son turlari o'rnida xotirani tejash uchun ishlatilishi mumkin:

Misol

val myNum: Byte = 100
println(myNum)

Short Short ma'lumot turi -32768 dan 32767 gacha bo'lgan to'liq sonlarni saqlaydi:

Misol

val myNum: Short = 5000
println(myNum)

Int Int ma'lumot turi -2147483648 dan 2147483647 gacha bo'lgan to'liq sonlarni saqlaydi:

Misol

val myNum: Int = 100000
println(myNum)

Long Long ma'lumot turi -9223372036854775808 dan 9223372036854775807 gacha bo'lgan to'liq sonlarni saqlaydi. Agar Int qiymatni saqlash uchun yetarli bo'lmasa, bu ishlatiladi. Ixtiyoriy ravishda, qiymatni "L" bilan tugatishingiz mumkin:

Misol

val myNum: Long = 15000000000L
println(myNum)

Int va Long o'rtasidagi farq To'liq son 2147483647 ga qadar bo'lsa, u Int sifatida qaraladi. Agar undan oshsa, Long sifatida aniqlanadi:

Misol

val myNum1 = 2147483647  // Int
val myNum2 = 2147483648  // Long

O'nli Nuqtali Turlar

O'nli nuqtali turlar decimal bilan sonlarni ifodalaydi, masalan, 9.99 yoki 3.14515.

Float va Double ma'lumot turlari o'nli qismli sonlarni saqlay oladi:

Float Misol

val myNum: Float = 5.75F
println(myNum)

Double Misol

val myNum: Double = 19.99
println(myNum)

Float yoki Double ishlatish?

O'nli nuqtali qiymatning aniqligi qanday ko'p raqam bo'lishini ko'rsatadi. Float ning aniqligi faqat olti yoki yetti o'nli raqamni o'z ichiga oladi, Double o'zgaruvchilarda taxminan 15 raqamli aniqlik mavjud. Shuning uchun ko'pchilik hisoblashlar uchun Double ishlatish xavfsizroqdir.

Shuningdek, Float turidagi qiymatni "F" bilan tugatishni unutmang.

Fan Raqamlari O'nli nuqtali sonlar ham "e" yoki "E" bilan fan raqamiga aylantirilishi mumkin, bu 10ning quvvatini ko'rsatadi:

Misol

val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)

Boolean

Boolean ma'lumot turi faqat true yoki false qiymatlarini qabul qiladi:

Misol

val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // true ni chiqaradi
println(isFishTasty)   // false ni chiqaradi

Boolean qiymatlari ko'pincha shartli testlarda ishlatiladi, buni keyingi bobda batafsil o'rganasiz.

Belgilar

Char ma'lumot turi yagona belgi saqlash uchun ishlatiladi. char qiymati yagona qo'shtirnoq ichida bo'lishi kerak, masalan, 'A' yoki 'c':

Misol

val myGrade: Char = 'B'
println(myGrade)

Java'dan farqli o'laroq, ba'zi belgilarni ASCII qiymatlari yordamida chiqarib bo'lmaydi. Java'da 66 qiymati "B" ni chiqarar edi, lekin Kotlin'da xato beradi:

Misol

val myLetter: Char = 66
println(myLetter) // Xato

Strings

String ma'lumot turi belgilardan iborat ketma-ketlik (matn) saqlash uchun ishlatiladi. String qiymatlari ikki qo'shtirnoq ichida bo'lishi kerak:

Misol

val myText: String = "Hello World"
println(myText)

String turlari haqida ko'proq ma'lumotni Strings bobida o'rganasiz.

Massivlar

Massivlar bir o'zgaruvchida bir nechta qiymatlarni saqlash uchun ishlatiladi, har bir qiymat uchun alohida o'zgaruvchilar e'lon qilish o'rniga.

Massivlar haqida ko'proq ma'lumotni Arrays bobida o'rganasiz.

Tur O'zgarishi

Tur o'zgarishi bir ma'lumot turining qiymatini boshqa turga aylantirishni anglatadi.

Kotlin'da, son turidagi o'zgarish Java'dan farq qiladi. Masalan, quyidagi kod yordamida Int turini Long turiga aylantirish mumkin emas:

Misol

val x: Int = 5
val y: Long = x
println(y) // Xato: Tur mos kelmaydi

Sonli ma'lumot turini boshqa turga aylantirish uchun quyidagi funksiyalardan foydalanishingiz kerak: toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble() yoki toChar():

Misol

val x: Int = 5
val y: Long = x.toLong()
println(y)

Ushbu sahifada

GitHubda tahrirlash