НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ
Kotlin. W3Schools українською. Уроки для початківців

En Es De

Kotlin Типи даних


Kotlin Типи даних

У Kotlin тип змінної визначається її значенням:

Приклад

val myNum = 5             // Int
val myDoubleNum = 5.99    // Double
val myLetter = 'D'        // Char
val myBoolean = true      // Boolean
val myText = "Hello"      // String
Спробуйте самі »

Проте з попереднього розділу ви дізналися, що за бажанням можна вказати тип:

Приклад

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
Спробуйте самі »

Іноді вам потрібно вказати тип, а часто – ні. У будь-якому разі корисно знати, що представляють різні типи.

Ви дізнаєтеся більше про те, коли потрібно вказати тип пізніше.

Типи даних поділяються на різні групи:

  • Числа
  • Символи
  • Булеві
  • Рядки
  • Масиви

Числа

Типи чисел поділяються на дві групи:

Цілі типизберігають цілі числа, додатні чи від’ємні (наприклад, 123 або -456), без десяткових знаків. Допустимі типи Byte, Short, Int та Long.

Типи з плаваючою комою представляють числа з дробовою частиною, яка містить один або кілька десяткових знаків. Є два типи: Float та Double.

Якщо ви не вказуєте тип числової змінної, вона найчастіше повертається як Int для цілих чисел і Double для чисел з плаваючою комою.


Цілі типи

Byte

Тип даних Byte може зберігати цілі числа від -128 до 127. Його можна використовувати замість Int або інші цілі типи для збереження пам’яті, якщо ви впевнені, що значення буде в межах -128 та 127:

Приклад

val myNum: Byte = 100
println(myNum)
Спробуйте самі »

Short

Тип даних Short може зберігати цілі числа від -32768 до 32767:

Приклад

val myNum: Short = 5000
println(myNum)
Спробуйте самі »

Int

Тип даних Int може зберігати цілі числа від -2147483648 до 2147483647:

Приклад

val myNum: Int = 100000
println(myNum)
Спробуйте самі »

Long

Тип даних Long може зберігати цілі числа від -9223372036854775807 до 9223372036854775807. Він використовується, коли Int невеликий достатньо для збереження вартості. За бажанням ви можете завершити значення символом an "L":

Приклад

val myNum: Long = 15000000000L
println(myNum)
Спробуйте самі »

Різниця між Int і Long

Ціле число є Int, якщо воно не перевищує 2147483647. Якщо воно перевищує це, воно визначається як Long:

Приклад

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

Типи з плаваючою комою

Типи з плаваючою комою представляють числа з десятковою комою, наприклад 9.99 або 3.14515.

Типи даних Float і Double можуть зберігати дробові числа:

Float Приклад

val myNum: Float = 5.75F
println(myNum)
Спробуйте самі »

Double Приклад

val myNum: Double = 19.99
println(myNum)
Спробуйте самі »

Використовувати Float чи Double?

Точність значення з плаваючою комою вказує, скільки цифр значення може мати після коми. Точність Float становить лише шість або сім десяткових цифр, тоді як змінні Double мають точність приблизно 15 цифр. Тому для більшості обчислень безпечніше використовувати Double.

Також зауважте, що значення типу Float слід завершувати символом "F".

Наукові цифри

Число з плаваючою комою також може бути науковим числом із літерою "e" або "E", яка вказує ступінь числа 10:

Приклад

val myNum1: Float = 35E3F
val myNum2: Double = 12E4
println(myNum1)
println(myNum2)
Спробуйте самі »

Булеві (логічні) значення

Тип даних Boolean може приймати лише значення true або false:

Приклад

val isKotlinFun: Boolean = true
val isFishTasty: Boolean = false
println(isKotlinFun)   // Виведе true
println(isFishTasty)   // Виведе false 
Спробуйте самі »

Логічні значення здебільшого використовуються для умовного тестування, про яке ви дізнаєтеся більше в наступному розділі.


Символи

Тип даних Char використовується для зберігання одного символу. Значення char має бути оточене одинарними лапками, наприклад 'A' або 'c':

Приклад

val myGrade: Char = 'B'
println(myGrade)
Спробуйте самі »

На відміну від Java, ви не можете використовувати значення ASCII для відображення певних символів. Значення 66 виведе "B" у Java, але спричинить помилку в Kotlin:

Приклад

val myLetter: Char = 66
println(myLetter) // Помилка

Рядки

Тип даних String використовується для зберігання послідовності символів (тексту). Рядкові значення мають бути взяті в подвійні лапки:

Приклад

val myText: String = "Hello World"
println(myText)
Спробуйте самі »

Ви дізнаєтеся більше про рядки в розділі Рядки.


Масиви

Масиви використовуються для зберігання кількох значень в одній змінній замість оголошення окремих змінних для кожного значення.

Ви дізнаєтеся більше про масиви в розділі Масиви.


Перетворення типів

Перетворення типів відбувається, коли ви перетворюєте значення одного типу даних в інший тип.

У Kotlin перетворення числового типу відрізняється від Java. Наприклад, неможливо перетворити тип Int на тип Long за допомогою такого коду:

Приклад

val x: Int = 5
val y: Long = x
println(y) // Error: Type mismatch 
Спробуйте самі »

Щоб перетворити числовий тип даних на інший тип, необхідно скористатися однією з наведених нижче функцій: toByte(), toShort(), toInt(), toLong(), toFloat(), toDouble() або toChar():

Приклад

val x: Int = 5
val y: Long = x.toLong()
println(y)
Спробуйте самі »