1. Переменные и коробки
Переменные — это такие специальные штуки для хранения данных. Любых данных. Все данные в Kotlin хранятся с помощью переменных. Больше всего переменная по смыслу напоминает коробку: самую обычную коробку.
Допустим, вы написали на листке число 13 и положили этот лист в коробку. Теперь мы можем говорить, что «коробка хранит значение 13».
Каждая переменная в Kotlin имеет три важных свойства: тип, имя и значение.
- Имя используется для того, чтобы отличать одну переменную от другой. Это как надпись на коробке.
- Тип переменной определяет тип значений/данных, которые в ней можно хранить. В коробке для торта храним торт, в коробке для обуви — туфли и т. д.
- Значение — это некий объект, данные или информация, которая хранится в переменной.
Каждый объект в языке Kotlin имеет свой тип. Например, могут быть такие типы данных: целое число, дробное число, текст, тип Кот, тип Дом и т. д.
У каждой переменной (коробки) тоже есть свой тип. Переменная может хранить значения только того же типа, что и она сама. Разные коробки используются для хранения различных вещей: коробка конфет, коробка для десятка яиц и т. п. Все как в жизни.
2. Создание переменной
В языке Kotlin для того, чтобы создать переменную, используется конструкция вида:
var имя: Тип
Где Тип — это тип переменной (совпадает с типом значений, которые переменная сможет хранить). А имя — это имя переменной.
В Kotlin есть два варианта переменных:
- var — переменная может меняться
- val — переменная не может меняться (значение можно присвоить только один раз)
Примеры:
| Создание переменной: сначала var/val, затем имя и тип. | Описание |
|---|---|
|
Создаем переменную по имени a типа Int. |
|
Создаем переменную по имени s типа String. |
|
Создаем переменную по имени 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. Коты и коробки
Как поймать кота:
- Возьмите пустую коробку.
- Ждите.
Шутка 🙂
Ну, может, в коробку и можно запихнуть сколько угодно котов, но вот в переменную можно положить только одно значение. С чем и будет связана следующая задача.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ