Перейти к основному содержимому
Версия: Legacy

Переменные



Что такое переменная?

Переменная — это место в памяти, которое может содержать данные определенного типа. Их можно создать с помощью ключевого слова val или var. После чего следует её название. Переменная обычно начинается со строчной буквы, а каждое новое слово - с заглавной, без пробелов или подчёркиваний. В конце ставится равно и указывается значение.

Примеры
var i = 10 // В этой переменной хранится число 10
val k = 2.0f // А в этой переменной хранится дробное число 2.0, f - указывает тип - Float
val s = "Hollow World" // Эта переменная уже хранит не число, а строку текста
var d = 5.24 // Эта переменная хранит дробное число 5.24
//Последний тип дробное число без пометки f - имеет тип Double, он занимает больше памяти, но и может хранить большие числа, подробнее в главах ниже



Виды переменных

В Kotlin есть 2 вида переменных: изменяемые и неизменяемые.

Неизменяемые переменные

Объявляются ключевым словом val (Value) - их значение указывается единожды и не может быть изменено.

Пример
val number = 10
val name = "Pavel"

Изменяемые переменные

Объявляются ключевым словом var (Variable) - их значение можно изменить после присвоения значения.

Пример
var number = 5
number = 15

var eda = "Kruasan"
eda = "Belyash"
Примечание

Содержимое неизменяемых переменных (val) изменить можно, но саму переменную - нет

val list = mutableListOf(1, 2, 3, 4, 5)

list = mutableListOf(1, 2, 3) // Этот код изменить не получится, потому что вы не можете положить *новый* список в неизменяемую переменную

list.remove(4)
list.remove(5) // А удалить элементы из *существующего* списка вы - можете, сам список не меняется, меняется только его содержимое.



Ручная типизация переменных

Kotlin умеет автоматически определять тип переменной в зависимости от того, что вы ему передадите. Но иногда вам может потребоваться указать более обобщённый тип, для этого после названия укажите его через двоеточие (:).

Пример
var i = 0 // Здесь мы не указываем тип переменной, так что Kotlin сам определит, что 0 имеет тип `Int`, соответственно и переменная тоже
var j: Number = 0 // Здесь мы указываем, что тип переменной - Number, т.е. Любое число

i = 10f // Здесь будет ошибка, потому что тип переменной Int (целое число), а передаётся Float (дробное число)

j = 10f // А тут ошибки не будет, потому что мы сказали, что тип переменной - любое число