Kotlin - Типы данных на практике

kotlin

Типы данных в Kotlin похожи на те, что есть в Java и других языках программирования, однако имеют свои особенности. Во первых, тут нет примитивных типов данных, в Kotlin используются ссылочные типы данных: Int, Double, String и тд. Во вторых переменные по умолчанию не умеют хранить null, эта опция доступна только, если к типу данных добавить знак вопроса - "?". Так же все переменные по умолчанию неизменяемые, то есть значение можно задать только один раз.

Посмотреть как создать Kotlin приложение с нуля, и с чего вообще начать можно в предыдущей статье, где мы разбирали Kotlin, Gradle и базовые концепции языка.

Итак, вот самые популярные типы данных:

  • Int. Целые числа в диапазоне от -2,147,483,648 (-2^31) до 2,147,483,647 (2^31- 1). Размер 32 бита (4 байта)
  • Double. Дробные числа в диапазоне от -1.7E+308 до 1.7E+308. Размер 64 бита (8 байт)
  • String. Текстовая информация. Размер зависит от данных, а также версии JVM
  • Boolean. Хранит либо true, либо false Размер зависит от версии JVM

Типы, которые используются значительно реже

  • Byte. Целые числа в диапазоне от -128 до 127. Размер 8 бит (1 байт)
  • Short. Целые числа в диапазоне от -32768 до 32767. Размер 16 бит (2 байта)
  • Long. Целые числа в диапазоне от -9,223,372,036,854,775,808 (-2^63) до 9,223,372,036,854,775,807 (2^63- 1). Размер 64 бита (8 байт)
  • Float. Дробные числа в диапазоне от -3.4E+38 до 3.4E+38. Размер 32 бита (4 байта)
  • Char. Символы (текст). Размер 16 бит (2 байта)

Пример на языке Java:

int value = 5;
double sum = 10.5;
String text = "Hello Java";

А вот так на Kotlin:

var value: Int = 5
var sum: Double = 10.5
var text: String = "Hello Kotlin"

Такие переменные в Kotlin не умеют хранить null. Для того, что бы можно было хранить "нули", необходимо добавить знак вопроса к типу данных - "?".

var value: Int? = null
var sum: Double? = null
var text: String? = null

Изменяемые (mutable) и неизменяемые (immutable) переменные

Все переменные в Kotlin должны быть помечены ключевым словом var или val. Если var - значит это изменяемая (mutable) переменная, если val - значит неизменяемая (immutable) переменная, то есть та, которую можно инициализировать только один раз. Рекомендуется использовать неизменяемые переменные везде, где это возможно.

Signed и Unsigned переменные

Все стандартные переменные, которые мы разобрали выше - это Signed. Однако есть еще один тип: Unsigned. Такие переменные в отличии от стандартных, не умеют хранить отрицательные числа. Их преимуществом является то, что они занимают столько же место как и Signed, но могут хранить в два раза больше положительных чисел. То есть, место которое могло потратиться на диапазон отрицательных чисел, у Unsigned переменных переходит в диапазон положительных чисел. Название таких типов совпадает с стандартными, но имеет префикс "U".

  • UByte. Целые числа в диапазоне от 0 до 255. Размер 8 бит (1 байт)
  • UShort. Целые числа в диапазоне от  0 до 65535. Размер 16 бит (2 байта)
  • UInt. Целые числа в диапазоне от 0 до 4294967294. Размер 32 бита (4 байта)
  • ULong. Целые числа в диапазоне от 0 до 2^64 - 1. Размер 64 бита (8 байт)

Обновлено 17 марта 2021

Теги:

"Сайт использует cookie-файлы для того, чтобы вам было удобнее им пользоваться. Для продолжения работы с сайтом, вам необходимо принять использование cookie-файлов."