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

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

Відкрита

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

2
Задача
Java Syntax Zero,  2 рівень4 лекція
Недоступна
Повнометражна картина
У змінній centimeters записана кількість сантиметрів. У змінну meters потрібно записати кількість повних метрів, яка міститься в centimeters (1 метр = 100 см). Для обчислення використовуй змінну centimeters і оператор ділення. Для оголошення та ініціалізації змінної meters використовуй одну команду.

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), а знак == використовується для порівняння з нулем.


2
Задача
Java Syntax Zero,  2 рівень4 лекція
Недоступна
Остання цифра числа
У змінній number записане число. У змінну lastDigit потрібно записати останню цифру цього числа. Для обчислення використовуй змінну number і оператор «остача від ділення». Для оголошення та ініціалізації змінної lastDigit використовуй одну команду. Підказка: ділити потрібно на 10.

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

2
Задача
Java Syntax Zero,  2 рівень4 лекція
Недоступна
9 — це перевернута цифра 6
Використовуючи лише оператор інкремента, зміни значення змінної six, щоб на екран було виведено цифру 9.
2
Задача
Java Syntax Zero,  2 рівень4 лекція
Недоступна
Колись було 32 зуба
Використовуючи лише оператор декремента, зміни значення змінної toothCounter, щоб на екран було виведено число 23.
Коментарі (27)
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Initiative Horror Frontend Developer в Skif
16 травня 2024, 15:10
Все дуже цікаво, але - перепрошую - де ж безкоштовні задачі? У мене немає змоги робити передплату (я особа, що втратила житло унаслідок агресії), то що ж мені робити? Облишити навіть мріяти?
Dmytrii
Рівень 29
27 травня 2024, 15:08
в приложении задачи бесплатны
Олексій
Рівень 1
Expert
22 березня 2023, 14:29
Дуже цікавий і насичений матеріал. Я довго думав, чому 1 % 2 = 1 ? Адже 1 : 2 = 0, 5. Тому, на першій погляд, відповідь мала б бути 5. Але потмі зрозумів, що тут інша логіка. Всього чисел, які діляться на 2, взагалі немає (=0). А те, що залишилось окрім цих чисел (окрім нуля) - це і буде остача. А залишилась одиниця.
Oksana V.
Рівень 4
1 липня 2024, 19:43
Дякую за коментар 👍 Так, остача, це не є операція ділення, тобто не треба в калькуляторі ділити 1 на 2. Натомість, у нас, наприклад, є 1 цукерка, яку треба розділити між дітьми по 2 штуки кожному (1 % 2), але ми не можемо це зробити, бо цукерка всього одна, тому вийде 0 (ніхто не отримає). І в результаті, в остачі залишилася 1 цукерка, яку ніхто з дітей не отримав 😉 (0 і 1 в остачі) Або ще приклад, у нас є 9 цукерок (🍬🍬🍬🍬🍬) (🍬🍬🍬🍬) , які треба розділити між дітьми по 5 штук кожному (9 % 5). Ми даємо одній дитині 5 цукерок 🍬🍬🍬🍬🍬, і у нас залишається 4 цукерки 🍬🍬🍬🍬, але цього вже недостатньо для наступної дитини. Тому виходить 1 (бо одна дитина отримала) і 4 цукерки залишилися (остача). (1 і 4 в остачі)
Василь trainee в Kindgeek
20 листопада 2022, 15:44
ще інкремент і декремент може бути таким:
++a;
--b;
різницю можна почитати тут: різниця між ++а і а++
hidden #3179197
Рівень 4
23 жовтня 2022, 16:40
Чому коли ділиш 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, 19:27
бро, бо у девʼятці лише 1 ціла пʼятірка. а 4 - це залишок від того ділення. 9 = 5 + 4;
Hodomych
Рівень 7
18 вересня 2022, 17:04
А є коротший спосіб з дерементом? "toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--; toothCounter--;"
Lazarenko Dmytro
Рівень 30
28 жовтня 2022, 18:37
toothCounter -= 9;
Stas Semenyuk_ЗСУ
Рівень 18
3 січня 2025, 19:07
можна ще,наприклвд, через цикл. але так нн приймає за правильне рішення.
IvanPozdniakov
Рівень 13
25 липня 2022, 09:55
Сподіваюсь і далі буде так дохідливо все пояснено. Всім успіхів!
Roma Chernesh
Рівень 16
12 жовтня 2022, 22:55
for (int i = 0; i < 9; i++) { toothCounter--; } Але вже задачу було мною розв'язано, тому не впевнений, що таку відповідь зарахують.
Марк Диванний експерт в Ютуб
30 січня 2023, 15:46
колись на JR було завдання 10 разів вивести текст на екран. я заморочився із циклом. два дні чехлив як його правильно написати (тут його ще не викладали). написав програму і... Відповідь прийняли як невірну! потрібно було вручну 10 разів виводити той текст
Roma Chernesh
Рівень 16
30 січня 2023, 16:39
а... пам'ятаю це завдання. Воно доси є далі на курсі. ностальджи:)
8 жовтня 2023, 15:33
Просто є чіткі вимоги, не треба вигадувати велосипед)
Anonymous #3009611
Рівень 2
18 лютого 2022, 06:45
Досить цікаво😀
Александр
Рівень 2
8 лютого 2022, 10:23
Досить цікавий матеріал і поки що все йде легко і невимушено
Anonymous #2979179
Рівень 13
27 січня 2022, 19:54
повезло что я вчил ето и ненуждаюсь в задачах тай щей они платние мда хотьби ограничение там вдень 1 задача поставилиб и 1 лекция для халявщиков
Юлия
Рівень 6
1 грудня 2021, 12:39
Не понятна логика остаток от деления целых чисел. Даже после предоставленного решения задачи
1 січня 2022, 17:27
дивись, піля ділення 546 на 10 у нас виходить 54,6 ( не ціле число), так як int може видавати і бачити лише цілі числа на екран виведе 54, но завдяки символу %, нам виведе замість цілого числа той залишок, що якраз у задачі можна і побачити
27 серпня 2023, 16:41
Чому саме потрібно ділити на 10? В самій умові про це не говорять. Чи підказка теж являється частиною умови?
Тимур
Рівень 3
3 березня 2024, 11:06
Привет! Это такой способ - в любом многозначном числе дающий последнюю цифру. Я думаю, есть и другие способы, но, здесь авторы просто хотят нас потренировать в использовании %.