JavaRush /Курси /Kotlin SELF /Цілі числа: тип Int...

Цілі числа: тип Int, операції з типом Int

Kotlin SELF
Рівень 2 , Лекція 1
Відкрита

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
Оголошення змінної типу Int

Де імʼя — назва змінної (умовне позначення). Приклади:

Команда Опис
var x: Int
Створюється цілочисельна змінна x
var count: Int
Створюється цілочисельна змінна count
var currentYear: Int
Створюється цілочисельна змінна 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, скористайтеся командою:

імʼя  = значення
Присвоювання значення змінній

Де значенням може бути будь-який цілочисельний вираз. Приклади:

Команда Примітка
var a: Int; a = 5
var b: Int; b = 2*1000*1000*1000
У змінній буде значення «2 мільярди»
var c: Int; c = -10000000
У змінній буде значення «мінус 10 мільйонів»
var d: Int; d = 3000000000
Не скомпілюється, тому що 3 000 000 000 більше, ніж
максимально можливе значення типу Int 2 147 483 647

5. Ініціалізація змінних

Оголошення змінної та присвоювання їй значення можна записати однією командою. Найчастіше так і роблять, адже змінну зазвичай оголошують тоді, коли потрібно зберегти певне значення.

У Kotlin це виглядає так:

var імʼя : Int = значення
Скорочений запис створення та ініціалізації змінної

Приклади:

Команда Примітка
var a: Int = 5
var b: Int = 2*1000*1000*1000
У змінній буде значення «2 мільярди»
var c: Int = -10000000
У змінній буде значення «мінус 10 мільйонів»
var d: Int = 3000000000
Не скомпілюється, тому що 3 000 000 000 більше, ніж
максимально можливе значення типу Int: 2 147 483 647

6. Обчислення цілочисельних виразів

У правій частині оператора присвоювання (знака дорівнює) може бути будь-який вираз — комбінація чисел, змінних і знаків +, -, *, /.

Також можна використовувати дужки ( ). У Kotlin, як і в математиці, спочатку обчислюються вирази в дужках, а потім — поза ними. Множення та ділення мають однаковий пріоритет, і він вищий за пріоритет додавання та віднімання.

Приклади:

Команда Примітка
var a: Int = (2 + 2) * 2
У змінній буде значення 8
var b: Int = (6 - 3) / (9 - 6)
У змінній буде значення 1
var c: Int = (-2) * (-3)
У змінній буде значення 6
var d: Int = 3 / 0
Під час виконання цієї команди виникне помилка, і програма завершиться.

Також у виразі можуть брати участь змінні:

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 під час ділення цілого числа на ціле число завжди виходить ціле число. Остача від ділення при цьому відкидається. Інакше кажучи, відкидається дробова частина.

Приклади:

Команда Результат ділення Примітка
var a: Int = 5 / 2
2,5 У змінній a буде значення 2
var b: Int = 20 / 3
6,6667 У змінній b буде значення 6
var c: Int = -6 / 5
-1,2 У змінній c буде значення -1
var d: Int = 1 / 2
0,5 У змінній d буде значення 0

8. Остача від ділення цілих чисел

Окрім додавання, віднімання, множення та ділення, для цілих чисел у Kotlin є ще й оператор «остача від ділення». Для цього використовується знак відсотка — %. Це саме остача від ділення цілого числа на ціле, а не дробова частина.

Приклади:

Команда Результат ділення Примітка
var a: Int = 5 % 2
2 і 1 в остачі У змінній a буде значення 1
var b: Int = 20 % 4
5 і 0 в остачі У змінній b буде значення 0
var c: Int = 9 % 5
1 і 4 в остачі У змінній c буде значення 4
var d: Int = 1 % 2
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
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ