Арифметические операторы Photo

Арифметические операторы

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);
    }
}
Read also:
Comments