Что означает в java
Перейти к содержимому

Что означает в java

  • автор:

10. Java – Основные операторы языка

Java предоставляет богатый набор операторов для управления переменными. Все операторы Java можно разделить на следующие группы:

  • арифметические операторы;
  • операторы сравнения;
  • побитовые операторы;
  • логические операторы;
  • операторы присваивания;
  • прочие операторы.

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

Арифметические операторы – используются в математических выражениях таким же образом, как они используются в алгебре. Предположим, целая переменная A равна 10, а переменная B равна 20. В следующей таблице перечислены арифметические операторы в Java:

Оператор Описание Пример
+ Складывает значения по обе стороны от оператора A + B даст 30
Вычитает правый операнд из левого операнда A — B даст -10
* Умножает значения по обе стороны от оператора A * B даст 200
/ Оператор деления делит левый операнд на правый операнд B / A даст 2
% Делит левый операнд на правый операнд и возвращает остаток B % A даст 0
++ Инкремент — увеличивает значение операнда на 1 B++ даст 21
Декремент — уменьшает значение операнда на 1 B— даст 19

Пример

Следующий простой пример показывает программно арифметические операторы. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

public class Test < public static void main(String args[]) < int a = 10; int b = 20; int c = 25; int d = 25; System.out.println("a + b = " + (a + b)); System.out.println("a - b = " + (a - b)); System.out.println("a * b = " + (a * b)); System.out.println("b / a = " + (b / a)); System.out.println("b % a = " + (b % a)); System.out.println("c % a = " + (c % a)); System.out.println("a++ = " + (a++)); System.out.println("b-- = " + (a--)); // Проверьте разницу в d++ и ++d System.out.println("d++ = " + (d++)); System.out.println("++d dos">a + b = 30 a - b = -10 a * b = 200 b / a = 2 b % a = 0 c % a = 5 a++ = 10 b-- = 11 d++ = 25 ++d = 27 

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

Есть следующие операторы сравнения, поддерживаемые на языке Java. Предположим, переменная A равна 10, а переменная B равна 20. В следующей таблице перечислены реляционные операторы или операторы сравнения в Java:

Оператор Описание Пример
== Проверяет, равны или нет значения двух операндов, если да, то условие становится истинным (A == B) – не верны
!= Проверяет, равны или нет значения двух операндов, если значения не равны, то условие становится истинным (A != B) – значение истинна
> Проверяет, является ли значение левого операнда больше, чем значение правого операнда, если да, то условие становится истинным (A > B) – не верны
= Проверяет, является ли значение левого операнда больше или равно значению правого операнда, если да, то условие становится истинным (A >= B) – значение не верны
> (сдвиг вправо) Бинарный оператор сдвига вправо. Значение правых операндов перемещается вправо на количество бит, заданных левых операндом. A >> 2 даст 15, который является 1111
>>> (нулевой сдвиг вправо) Нулевой оператор сдвига вправо. Значение левых операндов перемещается вправо на количество бит, заданных правым операндом, а сдвинутые значения заполняются нулями. A >>> 2 даст 15, который является 0000 1111

Пример

Следующий простой пример показывает, программно побитовые операторы в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

public class Test < public static void main(String args[]) < int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ int c = 0; c = a & b; /* 12 = 0000 1100 */ System.out.println("a & b = " + c ); c = a | b; /* 61 = 0011 1101 */ System.out.println("a | b = " + c ); c = a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c ); c = ~a; /*-61 = 1100 0011 */ System.out.println("~a a > 2 a >>> 2 html">a & b = 12 a | b = 61 a ^ b = 49 ~a = -61 a > 15 a >>> 15 

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

Предположим, логическая переменная A имеет значение true, а переменная B хранит false. В следующей таблице перечислены логические операторы в Java:

Оператор Описание Пример
&& Называется логический оператор «И». Если оба операнда являются не равны нулю, то условие становится истинным (A && B) – значение false
|| Называется логический оператор «ИЛИ». Если любой из двух операндов не равен нулю, то условие становится истинным (A || B) – значение true
! Называется логический оператор «НЕ». Использование меняет логическое состояние своего операнда. Если условие имеет значение true, то оператор логического «НЕ» будет делать false !(A && B) – значение true

Пример

Следующий простой пример показывает, программно логические операторы в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

public class Test < public static void main(String args[]) < boolean a = true; boolean b = false; System.out.println("a && b = " + (a&&b)); System.out.println("a || b = " + (a||b) ); System.out.println("!(a && b) dos">a && b = false a || b = true !(a && b) = true 

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

Существуют следующие операторы присваивания, поддерживаемые языком Java:

Оператор Описание Пример
= Простой оператор присваивания, присваивает значения из правой стороны операндов к левому операнду C = A + B, присвоит значение A + B в C
+= Оператор присваивания «Добавления», он присваивает левому операнду значения правого C += A, эквивалентно C = C + A
-= Оператор присваивания «Вычитания», он вычитает из правого операнда левый операнд C -= A, эквивалентно C = C — A
*= Оператор присваивания «Умножение», он умножает правый операнд на левый операнд C * = A эквивалентно C = C * A
/= Оператор присваивания «Деление», он делит левый операнд на правый операнд C /= A эквивалентно C = C / A
%= Оператор присваивания «Модуль», он принимает модуль, с помощью двух операндов и присваивает его результат левому операнду C %= A, эквивалентно C = C % A
>= Оператор присваивания «Сдвиг вправо» C >>= 2, это как C = C >> 2
&= Оператор присваивания побитового «И» («AND») C &= 2, это как C = C & 2
^= Оператор присваивания побитового исключающего «ИЛИ» («XOR») C ^= 2, это как C = C ^ 2
|= Оператор присваивания побитового «ИЛИ» («OR») C |= 2, это как C = C | 2

Пример

Следующий простой пример показывает, программно логические операторы в Java. Скопируйте и вставьте следующий java-код в файл test.java, скомпилируйте и запустить эту программу:

public class Test < public static void main(String args[]) < int a = 10; int b = 20; int c = 0; c = a + b; System.out.println("c = a + b = " + c ); c += a ; System.out.println("c += a = " + c ); c -= a ; System.out.println("c -= a = " + c ); c *= a ; System.out.println("c *= a = " + c ); a = 10; c = 15; c /= a ; System.out.println("c /= a = " + c ); a = 10; c = 15; c %= a ; System.out.println("c %= a c >= 2 c >>= a = " + c ); c &= a ; System.out.println("c &= 2 = " + c ); c ^= a ; System.out.println("c ^= a = " + c ); c |= a ; System.out.println("c |= a dos">c = a + b = 30 c += a = 40 c -= a = 30 c *= a = 300 c /= a = 1 c %= a = 5 c >= 2 = 5 c >>= 2 = 1 c &= a = 0 c ^= a = 10 c |= a = 10

Прочие операторы

Есть несколько других операторов, поддерживаемых языком Java.

Тернарный оператор или условный оператор (?:)

Тернарный оператор – оператор, который состоит из трех операндов и используется для оценки выражений типа boolean. Тернарный оператор в Java также известен как условный оператор. Этот. Цель тернарного оператора или условного оператора заключается в том, чтобы решить, какое значение должно быть присвоено переменной. Оператор записывается в виде:

переменная x = (выражение) ? значение if true : значение if false
Пример

Ниже приведен пример:

public class Test < public static void main(String args[])< int a , b; a = 10; b = (a == 1) ? 20 : 30; System.out.println( "Значение b: " + b ); b = (a == 10) ? 20 : 30; System.out.println( "Значение b: " + b ); >>

Будет получен следующий результат:

Значение b: 30 Значение b: 20

Оператор instanceof

Оператор instanceof – проверяет, является ли объект определенного типа (типа класса или типа интерфейса) и используется только для переменных ссылочного объекта. Оператор instanceof записывается в виде:

(Переменная ссылочного объекта) instanceof (класс/тип интерфейса)
Примеры

Если переменная ссылочного объекта в левой части оператора проходит проверку для класса/типа интерфейса на правой стороне, результатом будет значение true. Ниже приведен пример и описание оператора instanceof:

public class Test < public static void main(String args[])< String name = "Олег"; // Следующее вернётся верно, поскольку тип String boolean result = name instanceof String; System.out.println( result ); >>

Будет получен следующий результат:

true

Этот оператор по-прежнему будет возвращать значение true, если сравниваемый объект является совместимым с типом на право назначения. Ниже приводится еще один пример:

class Vehicle <> public class Car extends Vehicle < public static void main(String args[])< Vehicle a = new Car(); boolean result = a instanceof Car; System.out.println( result ); >>

Будет получен следующий результат:

true

Приоритет операторов в Java

Приоритет операторов определяет группирование терминов в выражении. Это влияет как вычисляется выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например оператор умножения имеет более высокий приоритет, чем оператор сложения:

Например, x = 7 + 3 * 2. Здесь x присваивается значение 13, не 20, потому что оператор «*» имеет более высокий приоритет, чем «+», так что сначала перемножается «3 * 2», а затем добавляется «7».

В таблице операторы с наивысшим приоритетом размещаются в верхней части, и уровень приоритета снижается к нижней части таблицы. В выражении высокий приоритет операторов в Java будет оцениваться слева направо.

Операторы в Java — шпаргалка с примерами

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

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

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

Обновлено: 2022-05-31 17:27:10 КК Константин Кондрусин автор материала

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

Используются в 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); >>

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

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

Арифметические операторы 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 1" data-ab-test="post_related" data-ab-key="yarpp">Многопоточность в Java – руководство с примерами

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

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 highlight" data-hscroll>
+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

Рассмотрим следующий простой пример.

Пример 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

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

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

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

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

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

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

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

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

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

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

Оператор Пример Эквивалент
+= x += 5 x = x + 5
-= x -= 5 x = x – 5
*= x *= 5 x = x * 5
/= x /= 5 x = x / 5
%= x %= 5 x = x / 5
x

x = x
>>= x >>= 5 x = x >> 5
&= x &= 5 x = x & 5
^= x ^= 5 x = x ^ 5
|= x |= 5 x = x | 5

Операторы в Java: для чего нужны и какие бывают

Знакомимся с основными инструментами языка и учимся работать с ними на практике.

Иллюстрация: Оля Ежак для Skillbox Media

Лев Сергеев

Лев Сергеев
Программист, музыкант. Знает Java, C# и Unity3D, но не собирается останавливаться на достигнутом.

Все мы со школы знакомы с математическими знаками + (плюс), (минус), = (равно) и так далее. В Java и других языках программирования эти символы называются операторами. Они нужны для того, чтобы сообщить компилятору, какое действие совершать с операндами — числами, строками, объектами и другими значениями по обе стороны оператора.

Например, на картинке выше оператор + говорит компилятору: «Сложи два числа». Но на практике чисел в выражении может быть разное количество — и одно, и два, и три. В этих случаях и операторы будут называться по-разному: унарные — что-то делают с одним операндом, бинарные — с двумя, и тернарные — с тремя.

В этой статье рассмотрим не только эти, но все основные виды операторов в Java:

  • Присваивания
  • Арифметические
  • Унарные
  • Сравнения
  • Логические
  • Тернарный
  • Оператор instanceof
  • Побитовые
  • Составные операторы присваивания

Ещё поговорим о приоритетах операторов — разберёмся, в каком порядке они выполняются. Если вы хотите просто освежить в памяти суть работы разных операторов, можете сразу перейти к шпаргалке в конце статьи.

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

Оператор присваивания в Java — это знак = (равно). Его задача — переложить значение переменной справа в переменную слева:

Вот как это выглядит в коде (в комментариях — разбор синтаксиса):

Тернарный оператор в Java: можно, только осторожно

Что делает: сокращает условную конструкцию if-else до одной строчки.

Тернарный оператор (от латинского слова ternarius — «тройной») — это языковая конструкция, которая состоит из трёх операндов: логического условия и двух выражений. Если результат логического условия будет true, выполнится первое выражение, если false — второе. Записываются тернарные операторы так:

Фишка в том, что таким образом мы можем записать конструкцию if-else всего одной строчкой. Допустим, нам нужно проверить булеву переменную condition — если она возвращает true, то переменная a = 100, а если false, то a = 200. Посмотрите, как легко это можно сделать с помощью тернарного оператора:

Кажется, что эти if-else теперь вообще больше не нужны. Мол, ставь везде тернарные операторы, и дело с концом. Однако в больших программах со сложной логикой это может повредить читаемости кода. Это в нашем примере выражение простое — а представьте, если в каждое выражение положить ещё по одному оператору. Получится неопрятно. Другому разработчику, который будет читать наш код, разобраться будет сложно.

Поэтому тернарные операторы рекомендуют использовать в тех случаях, когда условие простое и легко проверяется. А во всех остальных случаях прибегать к привычным «ифам» и «элсам».

Подробно о том, как работать с тернарными операторами, мы рассказывали в статье: «Тип Boolean и операторы сравнения в Java».

Оператор instanceof в Java

Что делает: проверяет, принадлежит ли объект к какому-то классу или интерфейсу, и возвращает булево значение — то есть true или false.

Использование instanceof актуально, когда нужно проверить родителя объекта прямо во время выполнения программы. Например, если объекты приходят в ваш код из базы данных или другого потока выполнения и вам нужно убедиться, что к ним можно применять методы какого-то класса. Записывается instanceof так:

Побитовые операторы вычисления бывают следующими:

Символ Что означает
& Побитовое И (AND) — умножение
| Побитовое ИЛИ (OR) — сложение
^ Побитовое ИСКЛЮЧАЮЩЕЕ ИЛИ (XOR) — вычитание
~ Побитовое НЕ (NOT) — отрицание

Чтобы посмотреть, как работают побитовые вычисления в Java, переведём несколько десятичных чисел в двоичную систему счисления:

Если разобраться в концепции старшего бита, можно без труда освоить три оставшихся побитовых оператора, которые называются операторами смещения битов:

Символ Что означает
Сдвиг битов влево
>> Сдвиг битов вправо
>>> Беззнаковый сдвиг битов вправо

Операторы сдвига смещают все биты в левую или правую сторону, но делают это по-разному:

  • >> не трогает старший бит, оставляя число с тем же знаком (отрицательным или положительным). Ячейки отрицательных чисел при >> заполняются единицами.
  • >>> и — затрагивают все биты. Освободившиеся ячейки справа заполняются нулями. Наполнение ячеек слева зависит от знака и оператора.

Звучит сложно, на деле — тоже сложно. Но попробуем разобраться на примере — разложим какое-то десятичное число на биты и посмотрим, как работает смещение битов.

В Java есть метод toBinaryString(), который показывает, как выглядят десятичные числа в двоичной системе. Но двоичные числа — это ещё не биты. Например, число 2 занимает 32 бита, но если обработать его методом toBinaryString(), на экране появятся только два из них: 1 и 0. Оставшиеся 30 нулей просто «обрезаются». Это происходит по той же причине, по которой мы, например, не пишем десятичное число 9 как 009.

Плюс составных операторов в том, что они записываются короче и неявно приводят переменные к одному типу, если эти типы различаются. Например, в сокращённом варианте можно сложить дроби и числа без приведения, и нам за это ничего не будет. А в полной записи будет ошибка:

int x = 1; double y = 3.1415d; x = x + y; // Эта строка не скомпилируется x += y; // А здесь всё хорошо // Оператор += в развёрнутом виде x = (int)(x + y);

Приоритеты операторов Java

У каждого оператора Java есть свой приоритет. Чем он выше, тем раньше оператор выполнится в выражении. Бинарные и тернарный операторы (кроме присваивания) выполняются слева направо, а остальные (унарные и присваивания) — справа налево.

Приоритет
(снизу вверх)
Группа Операторы
13 Постфиксные x++ x––
12 Унарные ++x ––x +x –x ~x !x
11 Мультипликативные * / %
10 Аддитивные + -
9 Сдвига битов >> >>>
8 Сравнения > >= instanceof
7 Равенства == !=
6 Побитовое И &
5 Побитовое исключающее ИЛИ ^
4 Побитовое ИЛИ |
3 Логическое И &&
2 Логическое ИЛИ ||
1 Тернарный ? :
0 Присваивания = += -= *= /= %=
&= ^= |=
<>>= >>>=

Резюме: что нужно запомнить

Мы рассмотрели все основные операторы в Java и их работу на примерах. Попробуем кратко резюмировать, что нужно вынести из этой статьи:

  • Оператор — это языковая конструкция, которая выполняет действие над операндом.
  • Операнд— это число, переменная, объект и так далее, с которыми оператор совершает какие-то действия (например, арифметическое и логическое).
  • Операторы бывают унарные, бинарные и тернарные — это зависит от того, сколько операндов они обрабатывают.
  • Арифметические операторы нужны для простых математических действий: сложения, вычитания, умножения, деления и деления с остатком.
  • Унарные операторы работают только с одним операндом. Это унарные минус и плюс, инкремент, декремент, логическое и побитовое отрицание.
  • Операторы сравнения сопоставляют значения двух операторов и возвращают ответ — true или false.
  • Логические операторы заточены уже не на числа, а на целые выражения — и на их основе создают сложные условия, например, для работы в циклах.
  • Тернарный оператор умеет работать сразу с тремя операндами: условием и двумя выражениями. То есть им вполне можно заменить ветвления типа if-else.
  • Операторinstanceof определяет принадлежность объекта к классу.
  • Побитовые операторы нужны для проведения операций с битами — если упростить, то с нулями и единицами в двоичной системе счисления.
  • Составные операторы неявно приводят типы данных, если они разные.
  • У каждого оператора есть свой приоритет.

Для более глубокого понимания темы можно почитать другие наши статьи: «Тип Boolean и операторы сравнения в Java» и «Логические операторы в Java». А если хотите совсем хорошо разобраться, почитайте официальную документацию Java — это вообще лучший способ освоить язык со всеми его тонкостями.

Читайте также:

  • Тип Boolean и операторы сравнения в Java
  • Тест. Какой язык создадите вы — Java или Python?
  • Чем различается фронтенд- и бэкенд-разработка

Что означает в java

подскажите есть ли похожая статья по всем логическим операциям? хотелось бы подробно почитать про & | ^. И было бы здорово если кто даст ссылку про побитовые операции, вообще не знаком с ними

Javagator #3400119 Уровень 3 Expert
14 февраля 2024

В далеких нулевых, когда все мы еще ощущали особую глубину интернета, а я был классе в 7 мне довелось взаимодействовать с Си подобным языком Pawn, на нем тогда можно было пилить сервера для GTA:Sa Online. Было очень ценно находить материалы для изучения и еще более ценным было когда, что-то получалось. Прошли года, прежде чем я твердо решил, что для самоуважения (и не только��) необходимо полноценно освоить язык программирования. Выбрал Java. Повезло узнать о JavaRush. Уважаемые коллеги, спасибо за всю ту ГЛУБИНУ, которую я ощущаю на JavaRush. Это очень приятно! ��

Anastasiia Уровень 7 Expert
2 февраля 2024

Пока что для меня это единственная лекция, в которой понятно ВСЁ Тоже были вопросы при инкремент и декремент, но я приняла ситуацию (разобралась) ��

Олег Королев Уровень 3 Expert
19 января 2024

Совсем не догоняю логику как работает постфиксная операция в описанном примере. int x = 999; int y = x++; System.out.println(y); System.out.println(x); 999 1000 Говорится что сначала выполняется y = x (и переменной y будет присвоено изначальное значение x), а только потом x++. Т.е значению y присваивается значение 999,а потом 1000. Но зачем мне знать 2 присваеваемых значения y? Если выводится один x и один y. Даже если так, y=1000, а x=999, то с ответами не бъется.

7 января 2024

Все еще не понимаю как компилятор читает код. Вроде как слева направо, но присвоение идет справа налево. А когда идет постфик++ сначала справа налево, а потом слева направо. Как так работает, что у = сначала х, а только потом х++. Почему она сразу не присваивает? Вообщем, мне кажется нужна подробная лекция или объяснение о всей сути чтения программ.

20 декабря 2023

После выражения public static void main(String[] args) < слова "для краткости записи" вызывают нервный тик.

mz Уровень 10
4 ноября 2023

Насчёт инкремента и декремента. 1.Постфиксная форма записи это i++. То есть переменной i сначала возвращается текущее значение, а после уже значение i увеличивается на 1. 2.Префиксная форма записи это ++i, то есть сразу значение i увеличится на 1, и после этого сразу же присвоится переменной i.

1 ноября 2023
а как работает %= . остаток от деления х на у?
4 августа 2023

Здесь нет ошибки? Все корректно? Не совсем понятно как будет работать,если будет например 7 чисел,как будет работать сравнение?? По логике просто слева направо должно,а здесь все запутно

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *