Kotlin Ma'lumot Turlari
Kotlin'da o'zgaruvchining turi uning qiymati orqali aniqlanadi:
Misol
Siz avvalgi bobda ko'rdingizki, agar xohlasangiz, turini aniq belgilash mumkin:
Misol
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
Short
Short
ma'lumot turi -32768 dan 32767 gacha bo'lgan to'liq sonlarni saqlaydi:
Misol
Int
Int
ma'lumot turi -2147483648 dan 2147483647 gacha bo'lgan to'liq sonlarni saqlaydi:
Misol
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
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
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
Double Misol
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
Boolean
Boolean
ma'lumot turi faqat true
yoki false
qiymatlarini qabul qiladi:
Misol
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
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
Strings
String
ma'lumot turi belgilardan iborat ketma-ketlik (matn) saqlash uchun ishlatiladi. String
qiymatlari ikki qo'shtirnoq ichida bo'lishi kerak:
Misol
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
Sonli ma'lumot turini boshqa turga aylantirish uchun quyidagi funksiyalardan foydalanishingiz kerak: toByte()
, toShort()
, toInt()
, toLong()
, toFloat()
, toDouble()
yoki toChar()
:
Misol