Арифметические операторы
1. Основные арифметические операторы Java
В следующей таблице перечислены основные арифметические операторы (или операции), применяемые в языке Java:
Операция | Описание |
+ | Сложение (а также унарный плюс) |
- | Вычитание (а также унарный минус) |
* | Умножение |
/ | Деление |
% | Деление по модулю |
Рассмотрим некоторые правила работы с арифметическими операторами:
- Выражения вычисляются слева направо, если не добавлены круглые скобки или одни операции имеют более высокий приоритет.
- Операции
*
,/
, и%
имеют более высокий приоритет чем+
и-
.
Арифметические операторы над целочисленными значениями
Например, в этом коде, переменные a
и b
будут иметь разные значения:
public class BasicIntMath {
public static void main(String[] args) {
int a = 4 + 5 - 2 * 3;
int b = 4 + (5 - 2) * 3;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
Результат выполнения:
a = 3
b = 13
Унарные операции сложения и вычитания
- Операция унарного вычитания изменяет знак своего единственного операнда.
- Операция унарного сложения просто возвращает значение своего операнда. Она в принципе не является необходимой, но возможна.
public class UnarySignOperation {
public static void main(String[] args) {
double a = -6;
double b = +6;
System.out.println(a);
System.out.println(b);
}
}
Деление целочисленных чисел в Java
Когда операция деления выполняется над целочисленным типом данных, ее результат не будет содержать дробный компонент. Это деление без остатка в Java:
public class IntDivision {
public static void main(String[] args) {
int a = 16 / 5;
System.out.println(a);
}
}
Результат выполнения этой программы:
3
Арифметические операторы над переменными типа char
Операнды арифметических операторов должны иметь числовой тип. Арифметические операторы нельзя выполнять над логическими типами данных, но допускается над типами данных char
, поскольку в Java этот тип, по существу, является разновидностью типа int
. Например:
public class BasicCharMath1 {
public static void main(String[] args) {
char c = 'n';
System.out.println(c);
System.out.println(c + 1);
System.out.println(c / 5);
}
}
Результат выполнения:
n
111
22
Или как в следующем примере:
public class BasicCharMath2 {
public static void main(String[] args) {
char c1 = '1';
char c2 = '\u0031';
char c3 = 49;
System.out.println(c1 + c2 + c3);
}
}
Результат выполнения:
147
Деление по модулю в Java
Оператор деления по модулю — обозначается символом %
. Этот оператор возвращает остаток от деления первого числа на второй в Java. При делении целого числа результатом будет так же целое число:
public class DivisionByModule {
public static void main(String[] args) {
int a = 6 % 5;
double b = 6.2 % 5.0;
System.out.println(a);
System.out.println(b);
}
}
Результат выполнения:
1
1.2000000000000002
2. Составные арифметические операции с присваиванием
Операция | Описание |
+= | Сложение с присваиванием |
-= | Вычитание с присваиванием |
*= | Умножение с присваиванием |
/= | Деление с присваиванием |
%= | Деление по модулю с присваиванием |
В Java имеются специальные операции, объединяющие арифметические операторы с операцией присваивания. Рассмотрим следующее выражение:
а = а + 4;
B Java эту операцию можно записать следующим образом:
а += 4;
Составные операции с присваиванием позволяют не только уменьшить объем кода, но и позволяют выполнять автоматическое преобразование чего не делают обычные операции:
public class CompoundOperations {
public static void main(String[] args) {
int a = 1;
int b = 2;
int c = 3;
a += 3;
b *= 2;
c += a * b;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
Презентацию с видео можно скачать на Patreon.
Please log in or register to have a possibility to add comment.