Прямые ссылки на публичные уроки для быстрого старта и стабильной индексации lesson-страниц.
Переменные — это контейнеры для данных, с которыми работает программа: числа, текст, логические значения и многое другое. При создании переменной в памяти компьютера выделяется ячейка с определённым типом и адресом. В программе мы постоянно работаем с данными через такие контейнеры.
Для объявления переменной используются ключевые слова val или var. После ключевого слова указывается осмысленное имя переменной, затем через = присваивается значение:
val numberOfOrders = 42
Имена переменных пишутся в стиле camelCase — с маленькой буквы, каждое следующее слово с большой. Этот стиль принят для переменных и функций в Kotlin.
Знак = — это оператор присваивания: данные справа присваиваются переменной слева. Операция объявления переменной с одновременным присвоением значения называется инициализацией.
Переменная может хранить не только число, но и строку. Текстовые значения заключаются в двойные кавычки:
val welcomeMessage = "Welcome to our app!"
Чтобы вывести значение переменной в консоль, используется функция println():
println(numberOfOrders) println(welcomeMessage)
Функция получает переменную в качестве параметра и печатает её содержимое в консоль.
Представим, что количество заказов изменилось. Присвоим переменной новое значение и выведем его:
numberOfOrders = 52 println(numberOfOrders)
Программа выполняется построчно сверху вниз. Последовательность действий:
425252Чтобы закомментировать строку, используйте сочетание клавиш:
Ctrl + /⌘ + /Для многострочного комментария добавьте Shift к той же комбинации.
При попытке запустить программу с переназначением val-переменной появится ошибка компиляции: «Val cannot be reassigned». Среда разработки подсветит проблему и предложит заменить val на var.
Всегда читайте текст ошибок и разбирайтесь в их причинах — это сэкономит много времени. Незнакомые ошибки легко найти на Stack Overflow: большинство из них уже кто-то разбирал до вас.
Переменная val является неизменяемой — после инициализации перезаписать её значение нельзя. Это защищает от случайных изменений данных там, где они не нужны. Рекомендуется использовать val везде, где это позволяет логика программы.
Переменная var является изменяемой — её значение можно перезаписывать. Это позволяет чётко разграничивать переменные, которые планировалось модифицировать, от тех, которые должны оставаться неизменными.
| Ключевое слово | Описание |
|---|---|
var | Переменная, значение которой можно изменять после объявления |
val | Переменная, значение которой нельзя изменить после инициализации |
const val | Константа уровня компиляции — не изменяется во время выполнения программы и доступна из разных частей кода. Используется, например, для хранения URL или версии приложения |
При объявлении переменной Kotlin автоматически определяет её тип по присваиваемому значению. Однако тип можно указать явно через двоеточие:
val numberOfOrders: Int = 42 val welcomeMessage: String = "Welcome to our app!"
Явное указание типа полезно при чтении чужого кода и помогает избежать ошибок: в переменную одного типа нельзя поместить данные другого.
Базовые типы делятся на четыре группы: целочисленные, вещественные, строковые и логические.
| Тип | Размер | Диапазон |
|---|---|---|
Byte | 8 бит | −128 до 127 |
Short | 16 бит | −32 768 до 32 767 |
Int | 32 бит | −2 147 483 648 до 2 147 483 647 |
Long | 64 бит | очень большие числа |
Int — наиболее распространённый тип. При инициализации Long к значению добавляется суффикс L:
val bigNumber: Long = 9999999999L
В идеале тип выбирается исходя из ожидаемого диапазона значений — это помогает не занимать лишнюю память.
Также существуют беззнаковые (Unsigned) версии целочисленных типов — для хранения только положительных значений. Обозначаются добавлением U: UInt, ULong и т.д.
| Тип | Размер |
|---|---|
Double | 64 бита |
Float | 32 бита |
По умолчанию число с плавающей точкой без явного указания типа считается Double. Чтобы задать Float, добавьте суффикс f:
val pi: Float = 3.14f val piDouble: Double = 3.14
String — строка символов в двойных кавычках: "Привет, мир!"Char — один символ в одинарных кавычках: 'A'Boolean принимает только два значения: true или false. Используется для проверки условий — например, авторизован ли пользователь:
val isUserLoggedIn: Boolean = true