Операцій над числами в програмуванні існує безліч, тому ми розглянемо найважливіші з них із прикладами :)
Арифметичні операції
Почнемо з найпростішого – з арифметичних операцій. Це відомі всім додавання (знак +), віднімання (-), множення (*) і ділення (/).
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
System.out.println(x+y);
System.out.println(x-y);
System.out.println(x*y);
System.out.println(x/y);
}
}
Виведення в консоль:
% – залишок від ділення.
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 33%2;
System.out.println(y);
}
}
Виведення в консоль:
- дорівнює (
==) - більше (
>) - менше (
<) - більше або дорівнює (
>=) - менше або дорівнює (
<=) - не дорівнює (
!=)
==, а не одним знаком =.
Одиничний знак = в Java є оператором присвоєння, коли змінній присвоюється число, рядок, або значення іншої змінної.

public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x=y);//очікуємо, що в консоль буде виведено false
}
}
Виведення в консоль:
boolean, а отримали число. Усе тому, що в дужках у нас операція присвоєння, а не порівняння.
x=y
Значення y (999) було присвоєно змінній x, і після цього ми вивели x в консоль.
Правильний варіант:
public class Main {
public static void main(String[] args) {
int x = 33;
int y = 999;
System.out.println(x==y);
}
}
Виведення в консоль:
=) – її можна здійснювати "по ланцюжку":
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
int z = 256;
x = y = z;
System.out.println(x);
}
}
Виведення в консоль:
x = y = z) буде виконаний покроково:- y = z , тобто у = 256
- x = y, тобто x = 256
Унарні операції
Вони називаються "унарними" від слова "uno" – "один". Таку назву вони отримали тому, що на відміну від попередніх, здійснюються над одним числом, а не над кількома. До них належать:Унарний мінус. Він змінює знак числа на протилежний.
public class Main { public static void main(String[] args) { int x = 999; // змінюємо знак вперше x = -x; System.out.println(x); // змінюємо знак вдруге x= -x; System.out.println(x); } }Виведення в консоль:
-999 999Ми використовували унарний мінус двічі. Внаслідок цього наше число стало спочатку від'ємним, а потім знову позитивним!
Інкремент (
++) і декремент (--)Операція
++збільшує число на одиницю, а операція--зменшує на цю ж саму одиницю.public class Main { public static void main(String[] args) { int x = 999; x++; System.out.println(x); x--; System.out.println(x); } }Виведення в консоль:
1000 999
x++ – постфіксний запис
++x – префіксний запис
У чому ж полягає принципова різниця, якщо ставити плюси-мінуси перед числом чи після?
Побачимо на прикладі:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
}
}
Виведення в консоль:
x на 1 і присвоїти нове значення змінній y. Тобто y має дорівнювати 1000. Але маємо інший результат – 999. Виходить, x не був збільшений, і операція інкременту не спрацювала?
Ще й як спрацювала. Щоб у цьому переконатися, спробуй вивести x в консоль наприкінці :)
public class Main {
public static void main(String[] args) {
int x = 999;
int y = x++;
System.out.println(y);
System.out.println(x);
}
}
Виведення в консоль:
int y = x++; спочатку виконується y = x (і змінній y буде присвоєно початкове значення x), а тільки потім x++.
Як бути, якщо нас не влаштовує така поведінка? Потрібно використовувати префіксний спосіб запису:
public class Main {
public static void main(String[] args) {
int x = 999;
int y = ++x;
System.out.println(y);
}
}
У цьому випадку спочатку відпрацює ++x і тільки після цього y = x;. Цю різницю варто запам'ятати одразу, щоб не припуститися помилок у реальній програмі, в якій уся поведінка може через це перевернутися з ніг на голову :)

Комбіновані операції
Крім того, в Java існують так звані комбіновані операції. В їхніх межах використовується комбінація з двох операцій:- Присвоювання
- Арифметична операція
+=-=*=/=%=
public class Main {
public static void main(String[] args) {
int x = 999;
int y = 33;
x += y;
System.out.println(x);
}
}
Виведення в консоль:
x += y означає x = x + y. Просто для стислості запису використовується два знаки поспіль. Так само це працює з комбінаціями -=, *=, /= і %=.
Логічні операції
Крім операцій над числами, в Java існують також операції над булевими змінними –true і false. Ці операції виконуються за допомогою логічних операторів:!– оператор "НЕ". Змінює значення булевої змінної на протилежнеpublic class Main { public static void main(String[] args) { boolean x = true; System.out.println(!x); } }Виведення в консоль:
false&&– оператор "І". Повертає значенняtrueтільки в тому разі, якщо обидва операнди єtrue.public class Main { public static void main(String[] args) { System.out.println(100 > 10 && 100 > 200); System.out.println(100 > 50 && 100 >= 100); } }Виведення в консоль:
false
trueРезультатом першої операції є
false, оскільки одна з умов є хибною, а саме 100 > 200. Оператору&&для того, щоб повернутиtrue, потрібно, щоб істинними були всі умови (як у другому рядку, наприклад).||– оператор "АБО". Повертаєtrue, коли хоча б один з операндів істинний.Тут наш попередній приклад уже відпрацює по-іншому:
public class Main { public static void main(String[] args) { System.out.println(100 > 10 || 100 > 200); } }Виведення в консоль:
trueВираз 100 > 200, як і раніше, хибний, але оператору "або" цілком достатньо, що перша частина (100 > 10) є істинною.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ