Тип данных определяет тип значений, которые мы можем хранить в переменной. Например, если переменная объявлена как целое число Int, мы можем хранить в ней только целочисленные значения, а не String, Boolean или любые другие несовместимые типы данных.
Kotlin предоставляет множество различных типов данных через встроенные классы. Эти типы данных можно разделить на пять категорий:
- Numbers
- Booleans
- Characters
- Strings
- Arrays
Числа
Существует шесть различных типов данных, которые могут хранить числа. Они отличаются размером отведенной им памяти и возможностью вычислений цифр с плавающей запятой.
Первые четыре типа данных хранят только целые числа. Последние два хранят числа с плавающей запятой. В следующей таблице представлена информация о количестве байтов, которое требуется для типа данных, и диапазоне значений, которые может хранить конкретный тип данных.
Тип данных | Размер (Bytes) | min значение : max значение |
---|---|---|
Byte | 1 | -128 : 127 |
Short | 2 | -32 768 : 32 767 |
Int | 4 | -2 147 483 648 : -2 147 483 647 |
Long | 8 | -9 223 372 036 854 775 808 : 9 223 372 036 854 775 807 |
Float | 4 | -3,4*10^38 до 3,4*10^38 |
Double | 8 | -5,0*10^-324 до 1,7*10^308 |
Byte, Short, Int, Double
По умолчанию любое целое число будет считаться Int. Если целое число выходит за пределы диапазона Int, оно будет считаться Long.
В следующем примере мы присваиваем целочисленные значения переменным x и y. Если диапазон целочисленного значения больше, чем Int, то он будет считаться Long.
Поскольку значение, хранящееся в y
, слишком велико для значения Int, Kotlin выводит его как значение Long. Чтобы явно указать числовой тип для переменной, мы можем указать тип при объявлении переменной.
В следующем примере мы явно указываем тип данных для переменных.
Для значений Long мы также можем указать литерал L после значения, не указывая тип класса для переменной.
Float, Double
Любое десятичное значение с точкой, присвоенное переменной без явного объявления типа, будет считаться значением Double.
В приведенной выше программе значение a
находится в пределах диапазона Float, но поскольку Kotlin рассматривает любое десятичное значение как Double, обе переменных a
и b
считаются Double значениями.
Чтобы создать переменную Float, укажите литерал f
или F
после значения.
Boolean
Логический тип данных реализован через Boolean класс в Kotlin. Логическая переменная может хранить одно из двух значений: true
или false
.
Чтобы объявить логическую переменную, используйте класс Boolean.
Или мы можем присвоить логическое значение переменной во время самого объявления без явного указания логического имени класса.
Character
Тип данных Character реализуется через класс Char в Kotlin. Переменная Char может хранить только один символ. Чтобы объявить переменную Char, используйте класс Char.
Или мы можем присвоить символьное значение переменной во время самого объявления, без явного указания класса Char. Kotlin может вывести тип из значения, присвоенного переменной. Значения символов заключаются в одинарные кавычки.
String
Тип данных String реализован через класс String в Kotlin. Строковая переменная может хранить последовательность символов. Чтобы объявить переменную String, используйте класс String.
Или мы можем присвоить строковое значение переменной во время самого объявления без явного указания класса String. Kotlin может вывести тип из значения, присвоенного переменной. Строковые значения заключаются в двойные кавычки.
Array
Array – это массивы или множественные данные. Тип данных Array реализован через класс Array в Kotlin. Переменная массив (Array) может хранить элементы вышеперечисленных типов данных. Более подробно про массивы вы узнаете в следующих уроках, так как материал достаточно обширный.