JavaRush /Курси /Java Syntax Zero /Операції над змінними типу int

Операції над змінними типу int

Java Syntax Zero
Рівень 2 , Лекція 4
Відкрита

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

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

Крім того, можна використовувати дужки ( ). У мові Java, так само як і в математиці, спочатку обчислюються вирази всередині дужок, а потім — поза ними.

Множення й ділення мають однаковий пріоритет, і він вищий за пріоритет додавання й віднімання.

Приклади:

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

У виразах можна також використовувати змінні.

Команда Примітка
int a = 1;
int b = 2;
int c = a * b + 2;
Змінна a матиме значення 1
Змінна b матиме значення 2
Змінна c матиме значення 4

До того ж та сама змінна може одночасно використовуватися ліворуч і праворуч від оператора присвоювання:

Команда Примітка
int x = 5;
x = x + 1;
x = x + 1;
x = x + 1;
x = x + 1;
x = x + 1;
Змінна x матиме значення 5
Змінна x матиме значення 6
Змінна x матиме значення 7
Змінна x матиме значення 8
Змінна x матиме значення 9
Змінна x матиме значення 10

Річ у тім, що в мові Java символ = — це не знак рівності, а команда, яка записує у змінну ліворуч від знаку = результат обчислення значення виразу праворуч від знаку =.


2. Ділення цілих чисел

У Java в результаті ділення цілого числа на ціле число завжди отримуємо ціле число, а остача від ділення відкидається. Можна сказати, що в результаті ділення завжди завжди відкидається дробова частина числа.

Приклади:

Команда Результат ділення Примітка
int a = 5 / 2;
2,5 Змінна a матиме значення 2
int b = 20 / 3;
6.6667 Змінна b матиме значення 6
int c = -6 / 5;
-1,2 Змінна с матиме значення -1
int d = 1 / 2;
0,5 Змінна d матиме значення 0


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

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

Приклади:

Команда Результат ділення Примітка
int a = 5 % 2;
2 і 1 в остачі Змінна а матиме значення 1
int b = 20 % 4;
5 і 0 в остачі Змінна b матиме значення 0
int c = 9 % 5;
1 і 4 в остачі Змінна с матиме значення 4
int d = 1 % 2;
0 і 1 в остачі Змінна d матиме значення 1

Це дуже корисний оператор, який використовується досить часто. Наприклад, щоб дізнатися, чи є число парним, достатньо поділити його на 2 та порівняти остачу від ділення з нулем. Якщо остача від ділення дорівнює нулю, то число є парним, якщо остача дорівнює одиниці — непарним.

Ця перевірка має такий вигляд:

(a % 2) == 0

де, як ви вже здогадалися, a % 2 — це команда отримання остачі від ділення на 2 (тобто 0 чи 1), а знак == використовується для порівняння з нулем.



4. Інкремент і декремент

У програмуванні доволі часто потрібно збільшувати або зменшувати змінну на одиницю. Для цих дій в Java є спеціальні команди.

Оператор інкремент (збільшення на 1) має такий вигляд:

a++;
Збільшення на 1

Ця команда виконує таку саму дію, що й команда a = a + 1; — збільшує змінну a на число 1.

Оператор декремент (зменшення на 1) має такий вигляд:

a--;
Зменшення на 1

Ця команда виконує таку саму дію, що й команда a = a - 1; — зменшує змінну a на число 1.

Приклади

Команда Примітка
int x = 5;
x++;
x++;
x++;
x++;
x++;
Змінна x матиме значення 5
Змінна x матиме значення 6
Змінна x матиме значення 7
Змінна x матиме значення 8
Змінна x матиме значення 9
Змінна x матиме значення 10
int x = 5;
x--;
x--;
x--;
x--;
x--;
x--;
Змінна x матиме значення 5
Змінна x матиме значення 4
Змінна x матиме значення 3
Змінна x матиме значення 2
Змінна x матиме значення 1
Змінна x матиме значення 0
Змінна x матиме значення -1

Коментарі (27)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
Initiative Horror Рівень 4
16 травня 2024
Все дуже цікаво, але - перепрошую - де ж безкоштовні задачі? У мене немає змоги робити передплату (я особа, що втратила житло унаслідок агресії), то що ж мені робити? Облишити навіть мріяти?
Dmytrii Рівень 67
27 травня 2024
в приложении задачи бесплатны
Олексій Рівень 1 Expert
22 березня 2023
Дуже цікавий і насичений матеріал. Я довго думав, чому 1 % 2 = 1 ? Адже 1 : 2 = 0, 5. Тому, на першій погляд, відповідь мала б бути 5. Але потмі зрозумів, що тут інша логіка. Всього чисел, які діляться на 2, взагалі немає (=0). А те, що залишилось окрім цих чисел (окрім нуля) - це і буде остача. А залишилась одиниця.
Oksana V. Рівень 4
1 липня 2024
Дякую за коментар 👍 Так, остача, це не є операція ділення, тобто не треба в калькуляторі ділити 1 на 2. Натомість, у нас, наприклад, є 1 цукерка, яку треба розділити між дітьми по 2 штуки кожному (1 % 2), але ми не можемо це зробити, бо цукерка всього одна, тому вийде 0 (ніхто не отримає). І в результаті, в остачі залишилася 1 цукерка, яку ніхто з дітей не отримав 😉 (0 і 1 в остачі) Або ще приклад, у нас є 9 цукерок (🍬🍬🍬🍬🍬) (🍬🍬🍬🍬) , які треба розділити між дітьми по 5 штук кожному (9 % 5). Ми даємо одній дитині 5 цукерок 🍬🍬🍬🍬🍬, і у нас залишається 4 цукерки 🍬🍬🍬🍬, але цього вже недостатньо для наступної дитини. Тому виходить 1 (бо одна дитина отримала) і 4 цукерки залишилися (остача). (1 і 4 в остачі)
Василь Рівень 4
20 листопада 2022
ще інкремент і декремент може бути таким:

++a;
--b;
різницю можна почитати тут: різниця між ++а і а++
hidden #3179197 Рівень 4
23 жовтня 2022
Чому коли ділиш 9 % 5 виходить 1 і 4, я нерозумію звідки беруться числа 1 і 4? я розумію, що 5 % 2 то виходить 2,5 тобто 2 і 0,5 це зводиться до 1 і 20 % 4 виходить 5 і 0 але звідки береться 1 і 4
Anonymous #3204968 Рівень 14
9 листопада 2022
бро, бо у девʼятці лише 1 ціла пʼятірка. а 4 - це залишок від того ділення. 9 = 5 + 4;
Hodomych Рівень 7
18 вересня 2022
А є коротший спосіб з дерементом? "toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--;"
Lazarenko Dmytro Рівень 30
28 жовтня 2022
toothCounter -= 9;
Stas Semenyuk_ЗСУ Рівень 18
3 січня 2025
можна ще,наприклвд, через цикл. але так нн приймає за правильне рішення.
IvanPozdniakov Рівень 13
25 липня 2022
Сподіваюсь і далі буде так дохідливо все пояснено. Всім успіхів!
Roma Chernesh Рівень 16
12 жовтня 2022
for (int i = 0; i < 9; i++) { toothCounter--; } Але вже задачу було мною розв'язано, тому не впевнений, що таку відповідь зарахують.
Марк Рівень 8
30 січня 2023
колись на JR було завдання 10 разів вивести текст на екран. я заморочився із циклом. два дні чехлив як його правильно написати (тут його ще не викладали). написав програму і... Відповідь прийняли як невірну! потрібно було вручну 10 разів виводити той текст
Roma Chernesh Рівень 16
30 січня 2023
а... пам'ятаю це завдання. Воно доси є далі на курсі. ностальджи:)
8 жовтня 2023
Просто є чіткі вимоги, не треба вигадувати велосипед)
Anonymous #3009611 Рівень 2
18 лютого 2022
Досить цікаво😀
Александр Рівень 2
8 лютого 2022
Досить цікавий матеріал і поки що все йде легко і невимушено
Anonymous #2979179 Рівень 13
27 січня 2022
повезло что я вчил ето и ненуждаюсь в задачах тай щей они платние мда хотьби ограничение там вдень 1 задача поставилиб и 1 лекция для халявщиков
Юлия Рівень 6
1 грудня 2021
Не понятна логика остаток от деления целых чисел. Даже после предоставленного решения задачи
1 січня 2022
дивись, піля ділення 546 на 10 у нас виходить 54,6 ( не ціле число), так як int може видавати і бачити лише цілі числа на екран виведе 54, но завдяки символу %, нам виведе замість цілого числа той залишок, що якраз у задачі можна і побачити
27 серпня 2023
Чому саме потрібно ділити на 10? В самій умові про це не говорять. Чи підказка теж являється частиною умови?
Тимур Рівень 3
3 березня 2024
Привет! Это такой способ - в любом многозначном числе дающий последнюю цифру. Я думаю, есть и другие способы, но, здесь авторы просто хотят нас потренировать в использовании %.