Операторы Java

В этой статье вы узнаете о различных типах операторов Java и их синтаксисе.

Операторы это специальные символы, которые осуществляют операции над операндами (переменными и значениями). Например, «+» это оператор, который производит сложение.

Сейчас вы узнаете, как использовать операторы, чтобы манипулировать переменными.

Операторы присваивания

Используются в Java, чтобы присвоить значения переменным. Например,

int age;//возраст
age = 5;

Оператор «=» присваивает значение справа от себя переменной, находящейся слева. В примере переменной age присвоено значение 5.

Пример 1: оператор присваивания

class AssignmentOperator {
    public static void main(String[] args) {
        
        int number1, number2;
        
        // Присвоение переменной number1 значения 5
        number1 = 5;
        System.out.println(number1);
                
        // Присвоение переменной number2 значения number1
        number2 = number1;
        System.out.println(number2);
    }
}

Когда вы запустите программу, на экран выведется:

5
5

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

Арифметические операторы Java используются, чтобы производить математические операции сложения, вычитания умножения и так далее.

Арифметические операторы Java
ОператорЗначение
+Сложение (также используется для конкатенации строк)
-Вычитание
*Умножение
/Деление
%Остаток от деления

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

class ArithmeticOperator {
    public static void main(String[] args) {

        double number1 = 12.5, number2 = 3.5, result;

        // Используется оператор сложения 
        result = number1 + number2;
        System.out.println("number1 + number2 = " + result);

        // Используется оператор вычитания 
        result = number1 - number2;
        System.out.println("number1 - number2 = " + result);

        // Используется оператор умножения
        result = number1 * number2;
        System.out.println("number1 * number2 = " + result);

        // Используется оператор деления
        result = number1 / number2;
        System.out.println("number1 / number2 = " + result);

        // Используется оператор остатка
        result = number1 % number2;
        System.out.println("number1 % number2 = " + result);
    }
}

Когда вы запустите программу, на экран выведется:

number1 + number2 = 16.0
number1 - number2 = 9.0
number1 * number2 = 43.75
number1 / number2 = 3.5714285714285716
number1 % number2 = 2.0

В примере с оператором деления Java, приведенном выше, использованные операнды – переменные. Кроме этого могут использоваться символьные значения. Например:

result = number1 + 5.2;
result = 2.3 + 4.5;
number2 = number1 -2.9;

Оператор «+» также может быть использован, чтобы соединить (конкатенировать) две строки или больше.

Пример 3: Арифметический оператор

class ArithmeticOperator {
    public static void main(String[] args) {

        String start, middle, end, result;

        start = "Разговоры ничего не стоят. ";
        middle = "Покажите мне код. ";
        end = "- Линус Торвальдс";

        result = start + middle + end;
        System.out.println(result);
    }
}

Когда вы запустите программу, на экран выведется:

Разговоры ничего не стоят. Покажите мне код. - Линус Торвальдс

Унарные операторы

Унарный оператор Java производит операцию только над одним операндом.

ОператорЗначение
+Унарный плюс (не нужен, так как числа положительные и без него).
-Унарный минус; инвертирует знак выражения.
++Оператор инкремента; увеличивает значение на 1.
--Оператор декремента; уменьшает значение на 1.
! Оператор логического отрицания; инвертирует значение булевой переменной.

Пример 4: Унарный оператор

class UnaryOperator {
    public static void main(String[] args) {

        double number = 5.2, resultNumber;
        boolean flag = false;

        System.out.println("+number = " + +number);
        // number равен здесь 5.2.

        System.out.println("-number = " + -number);
        // number равен здесь 5.2

        // ++number is Эквивалент number = number + 1
        System.out.println("number = " + ++number);
        // number равен здесь 6.2

        // -- number is Эквивалент number = number - 1
        System.out.println("number = " + --number);
        // number равен здесь 5.2

        System.out.println("!flag = " + !flag);
        // Флаг все еще ложный.
    }
}

Когда вы запустите программу, на экран выведется:

+number = 5.2
-number = -5.2
number = 6.2
number = 5.2
!flag = true

В Java можно использовать операторы «++» и «--» в качестве префикса и постфикса. Оператор «++» увеличивает значение на 1, а «--» уменьшает значение на 1.

int myInt = 5;
++myInt   // myInt принимает значение 6
myInt++   // myInt принимает значение 7
--myInt   // myInt принимает значение 6
myInt--   // myInt принимает значение 5

Есть большая разница в использовании операторов Java инкремента и декремента в префиксе и в постфиксе. Рассмотрим пример:

Пример 5: Унарный оператор

class UnaryOperator {
    public static void main(String[] args) {

        double number = 5.2;

        System.out.println(number++);
        System.out.println(number);

        System.out.println(++number);
        System.out.println(number);
    }
}

Когда вы запустите программу, на экран выведется:

5.2
6.2
7.2
7.2

Когда выполняется выражение System.out.println(number++), первым вычисляется изначальное значение. Переменная number увеличивается только после этого. Поэтому вы получите на выходе 5.2. Далее, когда выполняется System.out.println(number), показывается значение 6.2.

Тем не менее, когда выполняется System.out.println(++number), number увеличивается на 1 перед тем, как будет выведено на экран. Так же обстоят дела и с оператором Java декремента.

Операторы равенства и отношений

Операторы равенства и отношений проверяют, является ли операнд больше, меньше, равен, неравен второму и так далее. Получаемый результат равен true или false.

Операторы равенства и отношений в Java
ОператорОписаниеПример
==равен5 == 3 результат false
!=неравен5 != 3 результат true
Больше5 > 3 результат true
меньше5 < 3 результат false
>=Больше или равен5 >= 5 результат true
<=Меньше или равен5 <= 5 результат true

Рассмотрим этот простой пример.

Пример 6: Операторы равенства и отношений

class RelationalOperator {
    public static void main(String[] args) {

        int number1 = 5, number2 = 6;

        if (number1 > number2)
        {
                System.out.println("number1 больше, чем number2.");
        }
        else
        {
                System.out.println("number2 больше, чем number1.");
        }
    }
}

Когда вы запустите программу с операторами сравнения Java, на экран выведется:

number2 больше, чем number1.

Здесь мы использовали оператор «>», чтобы проверить, больше ли number1, чем number2.

Так как number2 больше, чем number1, результатом выражения number1 > number2 будет false.

Кроме операторов отношений, есть оператор сравнения типов instanceof, который сравнивает объект и определенный тип.

Например:

Оператор instanceof

Пример оператора instanceof.

class instanceofOperator {
    public static void main(String[] args) {

        String test = "asdf";
        boolean result;

        result = test instanceof String;
        System.out.println(result);
    }
}

Когда вы запустите программу, на экран выведется true. Это происходит от того, что test — экземпляр класса String.

Логические операторы

Java логические операторы || (условное-ИЛИ (OR) ) и && (условное-И (AND)) совершают операции над булевыми выражениями. Вот как они работают.

Логические операторы Java
ОператорОписаниеПример
||условное-ИЛИ; true если хотя бы одно из булевых выражений истинно (true)false || true результат - true
&&условное-И; истинно если все булевы выражения истинны (true).false && true результат - false

Пример 8: Логические операторы

class LogicOperator {
    public static void main(String[] args) {

        int number1 = 1, number2 = 2, number3 = 9;
        boolean result;

        // Хотя бы одно из выражений должно быть истинным, чтобы результат был истиной
        result = (number1 > number2) || (number3 > number1);
        // результат — истина, так как (number1 > number2) истинно
        System.out.println(result);

// Все выражения должны быть истинными, чтобы результат был true
        result = (number1 > number2) && (number3 > number1);
        // Результат будет ложным(false), так как (number3 > number1) ложно
        System.out.println(result);
    }
}

Когда вы запустите программу, на экран выведется:

true
false

Тернарный оператор

Условный оператор или тернарный оператор Java «?:» - это сокращение выражения if-then-else. Синтаксис условного оператора:

переменная = выражение ? выражение1 : выражение2

Вот как это работает.

  • Если значение выражения - true, expression1 присваивается переменной;
  • Если значение выражения - false, expression2 присваивается переменной.

Пример 9: Тернарный оператор

class ConditionalOperator {
    public static void main(String[] args) {

        int februaryDays = 29;//дней в феврале
        String result;

        result =  (februaryDays == 28) ? "Не високосный год" : "Високосный год";
        System.out.println(result);
    }
}

Когда вы запустите тернарного оператора Java пример, на экран выведется:

Високосный год

Побитовые операторы и смещение битов

Чтобы осуществлять побитовые операции, в Java используются такие операторы.

Побитовые операторы и смещение битов в Java
ОператорОписание
~Побитовое дополнение.
<< Левый сдвиг.
>> Правый сдвиг.
>>> Беззнаковый правый сдвиг.
&Побитовое И.
^Побитовое исключающее ИЛИ.
|Побитовое включающее ИЛИ.

Эти операторы применяются нечасто.

Другие операторы присваивания

В начале статьи мы рассмотрели только один оператор присваивания =. Существует еще несколько операторов Java присваивания.

Операторы присваивания в Java
ОператорПримерЭквивалент
+=x += 5x = x + 5
-=x -= 5x = x – 5
*=x *= 5x = x * 5
/=x /= 5x = x / 5
%=x %= 5x = x / 5
<<=x <<= 5x = x << 5
>>=x >>= 5x = x >> 5
&=x &= 5x = x & 5
^=x ^= 5x = x ^ 5
|=x |= 5x = x | 5

Перевод статьи “Java Operators” был подготовлен дружной командой проекта Сайтостроение от А до Я.

Java  |  11.10.2017  | 

Java, Программирование, похожие статьи

В этой статье мы разберемся с тем, почему нужно переопределить метод toString для отображения содержимого ArrayList.
Java  |  14.12.2017
Каждый класс в Java является дочерним классом для класса Object. Класс Object содержит метод toString(). Он используется для получения строкового представления объекта. Каждый раз, когда мы пытаемся вывести ссылку на Object, вызывается метод toString().
Java  |  14.12.2017
Повторяющееся исполнение набора инструкций называется циклом. Циклы в Java делятся на три типа:
Java  |  01.11.2017




Яндекс цитирования