JavaRush /Курсы /Kotlin SELF /Знакомство с переменными в Kotlin

Знакомство с переменными в Kotlin

Kotlin SELF
1 уровень , 3 лекция
Открыта

1. Переменные и коробки

Переменные — это такие специальные штуки для хранения данных. Любых данных. Все данные в Kotlin хранятся с помощью переменных. Больше всего переменная по смыслу напоминает коробку: самую обычную коробку.

Допустим, вы написали на листке число 13 и положили этот лист в коробку. Теперь мы можем говорить, что «коробка хранит значение 13».

Каждая переменная в Kotlin имеет три важных свойства: тип, имя и значение.

  • Имя используется для того, чтобы отличать одну переменную от другой. Это как надпись на коробке.
  • Тип переменной определяет тип значений/данных, которые в ней можно хранить. В коробке для торта храним торт, в коробке для обуви — туфли и т. д.
  • Значение — это некий объект, данные или информация, которая хранится в переменной.

Каждый объект в языке Kotlin имеет свой тип. Например, могут быть такие типы данных: целое число, дробное число, текст, тип Кот, тип Дом и т. д.

У каждой переменной (коробки) тоже есть свой тип. Переменная может хранить значения только того же типа, что и она сама. Разные коробки используются для хранения различных вещей: коробка конфет, коробка для десятка яиц и т. п. Все как в жизни.

2. Создание переменной

В языке Kotlin для того, чтобы создать переменную, используется конструкция вида:

var имя: Тип
Объявление переменной

Где Тип — это тип переменной (совпадает с типом значений, которые переменная сможет хранить). А имя — это имя переменной.

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

  • var — переменная может меняться
  • val — переменная не может меняться (значение можно присвоить только один раз)

Примеры:

Создание переменной: сначала var/val, затем имя и тип. Описание
var a: Int
Создаем переменную по имени a типа Int.
var s: String
Создаем переменную по имени s типа String.
var c: Double
Создаем переменную по имени c типа Double.

Два самых часто используемых типа — это целые числа (обозначаются словом Int) и текст (обозначается словом String). Также популярен тип Double — это дробные (вещественные) числа.

Примечание

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

3. Присваивание

Как уже говорилось выше, у переменной есть имя, тип и значение. Имя и тип мы уже разобрали, а что насчет значения? Как занести значение в переменную?

Чтобы занести значение в переменную, существует специальная операция — операция присваивания. Она копирует значение из одной переменной в другую. Не переносит, а именно копирует. Как файл на диске. Выглядит это присваивание так:

имя = значение
Операция присваивания

Где имя — это имя переменной, а значение — это значение, которое будет занесено в переменную. В качестве значения может фигурировать конкретное значение, имя другой переменной или даже какое-нибудь выражение с использованием переменных.

Примеры:

var i: Int        // Создается переменная i
var a: Int        // Создается переменная a
var b: Int        // Создается переменная b
var x: Int        // Создается переменная x

i = 3             // В переменную i заносится значение 3.

a = 1             // В переменную a заносится значение 1.
b = a + 1         // В переменную b заносится значение 2.

x = 3             // В переменную x заносится значение 3.
x = x + 1         // В этой строке значение x увеличивается на 1, x теперь равен 4.

Символ равно

Для операции присваивания используется символ равно =. Это не сравнение, не равенство. Это именно команда копирования значения справа от знака равно в переменную, которая слева.

Для сравнения в языке Kotlin используется двойное равно == (а ещё есть === — сравнение ссылок).

4. Имя переменной: что можно, а что нельзя

Вот какие факты вам полезно будет знать при создании переменных:

  • Имя переменной может быть любым (например, temperature, score, userAge).
  • Но есть ограничения — оно не может начинаться с цифры и не может совпадать со служебными словами Kotlin (например, нельзя назвать переменную if или class).
  • Не может содержать специальные символы (например #, +, кавычки и т. п.). Обычно в именах используют буквы, цифры и _.
  • В имени важна разница между строчными и прописными буквами (Age и age — разные переменные).
  • Обычно используют стиль camelCase: первая буква маленькая, дальше — каждое слово с заглавной (userAge, maxScore).

Примеры разрешенных имен:

val x123 = 1
var котейка: String
val PI = 3.14
val MAIN_PATH = "c:/"

Примеры запрещенных имен:

val 1first = 1          // имя не может начинаться с цифры
val number# = 25        // символ # нельзя использовать в имени
val name" = "John"      // кавычки в имени недопустимы
val pi+e = 5.123        // имя не может содержать +

Все остальное вы узнаете в будущих лекциях. А теперь вопрос на логику: за сколько шагов можно поймать кота в коробку?

5. Коты и коробки

img

Как поймать кота:

  1. Возьмите пустую коробку.
  2. Ждите.

Шутка 🙂

Ну, может, в коробку и можно запихнуть сколько угодно котов, но вот в переменную можно положить только одно значение. С чем и будет связана следующая задача.

1
Задача
Kotlin SELF, 1 уровень, 3 лекция
Недоступна
Мини-визитка приложения
Мини-визитка приложения
1
Задача
Kotlin SELF, 1 уровень, 3 лекция
Недоступна
Изменение никнейма
Изменение никнейма
1
Задача
Kotlin SELF, 1 уровень, 3 лекция
Недоступна
Повышение уровня игрока
Повышение уровня игрока
1
Задача
Kotlin SELF, 1 уровень, 3 лекция
Недоступна
Фраза без дублирования
Фраза без дублирования
Комментарии (6)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Valery Уровень 4
27 мая 2026
Добрый день ! В лекции лучше рассказать про string templates, чтобы применять в задачах, а то не совсем понятно, что именно это такое, если в задачах это требуется знать
Nikolay Уровень 2
13 марта 2026
Сам себе усложнил и воспользовался подсказкой!)))
Logominov Viktor Уровень 57
13 марта 2026
Можно обойти ограничения на имя переменной, написав имя переменной в бектиках:

val `1first` = 1
println(`1first`)
Дмитрий Уровень 3
11 марта 2026
А будет ли в этом курсе про AndroidSDK или нет?)
Dr-John Zoidberg Уровень 2 Moderator
13 марта 2026
Этот курс полностью сфокусирован на Kotlin как языке и его работе на JVM. Android SDK этотдельный огромный мир со своими жизненными циклами и специфическими инструментами, который требует отдельного полноценного обучения
Vlad Уровень 20
26 апреля 2026
А будет такой курс?