1. Изучаем подробнее тип Int
Если вы хотите хранить в переменных целые числа, вам нужно использовать тип Int. Int — это сокращение от Integer (целый с английского), что как бы намекает, что этот тип позволяет хранить целые числа.
Переменные типа Int способны хранить целые числа в диапазоне от -2 миллиарда до +2 миллиарда. Или, если быть более точным, то от -2,147,483,648 до 2,147,483,647.
Интересный факт
Такие некруглые значения связаны с устройством памяти компьютера. В Kotlin (на JVM) для типа Int выделено 4 байта памяти. Каждый байт памяти состоит из 8 битов. Каждый бит может принимать только 2 значения — 0 или 1. Переменная типа Int содержит 32 бита и может принимать 4,294,967,296 значений.
Половину этого диапазона отдали под отрицательные числа, а вторую — под положительные. Вот и получилось как раз от -2,147,483,648 до 2,147,483,647.
2. Создание переменной типа Int
Тип Int предназначен для хранения целых чисел. Чтобы создать в коде переменную, которая будет способна хранить целые числа, нужно воспользоваться командой вида:
var имя: Int
Где имя — это имя переменной. Примеры:
| Команда | Описание |
|---|---|
|
Создается целочисленная переменная x |
|
Создается целочисленная переменная count |
|
Создается целочисленная переменная currentYear |
Размер (регистр) букв имеет значение: команды var color: Int и var Color: Int объявят две разные переменные.
Команды же Int Color и INT COLOR компилятор вообще не поймет и сообщит об ошибке. В Kotlin сначала пишется var/val, затем имя переменной, затем тип через двоеточие :. Тип называется Int и пишется именно так (с заглавной I).
3. Краткая запись создания переменных
Если в одном месте программы нужно создать много переменных одного типа, в Java это можно сделать, используя сокращенную запись через запятую.
int x, y, z;
В Kotlin такой записи нет: каждую переменную объявляют отдельно. При желании можно написать несколько объявлений в одну строку, разделяя их ; (точкой с запятой), но чаще пишут с новой строки.
Примеры:
var x: Int; var y: Int; var z: Int
или
var x: Int;
var y: Int;
var z: Int
4. Присваивание значений
Чтобы занести значение в переменную типа Int, нужно воспользоваться командой:
имя = значение
Где значением может быть любое целочисленное выражение. Примеры:
| Команда | Примечание |
|---|---|
|
|
|
В переменной будет значение «2 миллиарда» |
|
В переменной будет значение «минус 10 миллионов» |
|
Не скомпилируется, т. к. 3,000,000,000 больше, чем максимально возможное значение типа Int 2,147,483,647 |
5. Инициализация переменных
Создание (объявление) переменной и присваивание ей значения можно записать одной командой. Чаще всего так и делают, поскольку переменная обычно объявляется тогда, когда возникает необходимость сохранить какое-либо значение.
В Kotlin это выглядит так:
var имя: Int = значение
Примеры:
| Команда | Примечание |
|---|---|
|
|
|
В переменной будет значение «2 миллиарда» |
|
В переменной будет значение «минус 10 миллионов» |
|
Не скомпилируется, т. к. 3,000,000,000 больше, чем максимально возможное значение типа Int: 2,147,483,647 |
6. Вычисление целочисленных выражений
В правой части от оператора присваивания (знака равенства) может быть любое выражение — комбинация чисел, переменных и знаков +, -, *, /.
Также можно использовать скобки ( ). В Kotlin, как и в математике, сначала вычисляются выражения внутри скобок, а затем — вовне. Умножение и деление имеют равный приоритет, и он выше, чем у сложения и вычитания.
Примеры:
| Команда | Примечание |
|---|---|
|
В переменной будет значение 8 |
|
В переменной будет значение 1 |
|
В переменной будет значение 6 |
|
При выполнении этой команды возникнет ошибка, и программа завершится. |
Также в выражении могут участвовать переменные:
var a: Int = 1 // В переменной a будет значение 1
var b: Int = 2 // В переменной b будет значение 2
var c: Int = a * b + 2 // В переменной c будет значение 4
Более того, одна и та же переменная может одновременно быть слева и справа от оператора присваивания:
var x: Int = 5 // В переменной x будет значение 5
x = x + 1 // В переменной x будет значение 6
x = x + 1 // В переменной x будет значение 7
x = x + 1 // В переменной x будет значение 8
x = x + 1 // В переменной x будет значение 9
x = x + 1 // В переменной x будет значение 10
Все дело в том, что в языке Kotlin символ = — это не обозначение равенства, а команда, которая в переменную слева от знака = заносит вычисленное значение выражения справа от знака =.
7. Деление целых чисел
В Kotlin при делении целого числа на целое число всегда получается целое число. Остаток от деления при этом отбрасывается. Или же можно сказать, что отбрасывается дробная часть.
Примеры:
| Команда | Результат деления | Примечание |
|---|---|---|
|
2.5 | В переменной a будет значение 2 |
|
6.6667 | В переменной b будет значение 6 |
|
-1.2 | В переменной c будет значение -1 |
|
0.5 | В переменной d будет значение 0 |
8. Остаток от деления целых чисел
Кроме сложения, вычитания, умножения и деления для целых чисел в Kotlin есть еще и оператор «остаток от деления». Используется для этого символ процента — %. Это именно остаток от деления целого числа на целое, а не дробная часть.
Примеры:
| Команда | Результат деления | Примечание |
|---|---|---|
|
2 и 1 в остатке | В переменной a будет значение 1 |
|
5 и 0 в остатке | В переменной b будет значение 0 |
|
1 и 4 в остатке | В переменной c будет значение 4 |
|
0 и 1 в остатке | В переменной d будет значение 1 |
Это очень полезный оператор, и используется он довольно часто. Например, чтобы узнать, четное число или нет, достаточно поделить его на 2 и полученный остаток сравнить с нулем. Если остаток от деления равен нулю, число четное, если равен единице — нечетное.
Выглядит эта проверка так:
(a % 2) == 0
Где, как вы уже догадались, a % 2 — получение остатка от деления на 2 (т. е. 0 или 1), а == используется для сравнения с нулем.
9. Инкремент и декремент
В программировании очень часто приходится увеличивать или уменьшать переменную на единицу. Для этих действий в Kotlin есть специальные команды:
Оператор инкремент (увеличение на единицу) выглядит так:
a++
Эта команда делает то же самое, что и команда a = a + 1 — увеличивает переменную a на единицу.
Оператор декремент (уменьшение на единицу) выглядит так:
a--
Эта команда делает то же самое, что и команда a = a - 1 — уменьшает переменную a на единицу.
Пример 1
var x: Int = 5 // В переменной x будет значение 5
x++ // В переменной x будет значение 6
x++ // В переменной x будет значение 7
x++ // В переменной x будет значение 8
x++ // В переменной x будет значение 9
x++ // В переменной x будет значение 10
Пример 2
var x: Int = 5 // В переменной x будет значение 5
x-- // В переменной x будет значение 4
x-- // В переменной x будет значение 3
x-- // В переменной x будет значение 2
x-- // В переменной x будет значение 1
x-- // В переменной x будет значение 0
x-- // В переменной x будет значение -1
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ