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

Что такое оператор в java

  • автор:

Java: Операторы

Перед тем, как двигаться дальше, разберем базовую терминологию. Знак операции, такой как + , называют оператором. Оператор — просто символ, который выполняет операцию, например, сложение:

System.out.println(8 + 2); // => 10 

В этом примере + — это оператор, а числа 8 и 2 — это операнды.

В случае сложения у нас есть два операнда:

  • Один слева
  • Другой справа от знака +

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

Операции бывают не только бинарными. Бывают еще:

  • Унарные — с одним операндом
  • Тернарные — с тремя операндами

Причем операторы могут выглядеть одинаково, но обозначать разные операции:

System.out.println(-3); // => -3 

Выше пример применения унарной операции к числу 3. Оператор «минус» перед тройкой говорит интерпретатору — возьми число 3 и найди противоположное, то есть -3.

Это немного может сбить с толку, потому что -3 — это одновременно и число само по себе, и оператор с операндом, но у языков программирования такая структура.

Задание

Напишите программу, которая посчитает разность между числами 6 и -81 и выведет ответ на экран.

Упражнение не проходит проверку — что делать? ��

Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:

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

В моей среде код работает, а здесь нет ��

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

Мой код отличается от решения учителя ��

Это нормально ��, в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.

В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.

Прочитал урок — ничего не понятно ��

Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.

Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.

Определения

  • Арифметическая операция — сложение, вычитание, умножение и деление.
  • Оператор — специальный символ, создающий операцию. Например, + создает операцию сложения.
  • Операнд — объект, который участвует в операции. 3 * 6 : здесь 3 и 6 — операнды.
  • Унарная операция — операция с одним операндом. Например, -3 — унарная операция для получения числа, противоположного числу три.
  • Бинарная операция — операция с двумя операндами. Например, 3 + 9 .

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics

Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе

  • Привет, Мир!
  • Комментарии
  • Инструкции (Statements)
  • Как мы проверяем ваши решения
  • Ошибки оформления (синтаксиса)
  • Арифметические операции
  • Операторы
  • Коммутативная операция
  • Композиция операций
  • Приоритет операций
  • Числа с плавающей точкой
  • Линтер
  • Кавычки
  • Экранирующие последовательности
  • Конкатенация
  • Что такое переменная
  • Изменение переменной
  • Выбор имени переменной
  • Ошибки при работе с переменными
  • Выражения в определениях
  • Переменные и конкатенация
  • Именование переменных
  • Магические числа
  • Константы
  • Зачем нужны типы данных
  • Явная типизация
  • Какие бывают типы
  • Значение null
  • Явное преобразование типов
  • Методы и их вызов
  • Параметры методов
  • Вызов метода — выражение
  • Неизменяемость строк
  • Цепочки вызовов методов
  • Детерминированность
  • Стандартная библиотека
  • Какие бывают методы
  • Создание (определение) метода
  • Метод main
  • Возврат значений
  • Определение методов
  • Необязательные параметры методов
  • Логический тип
  • Сравнение строк
  • Комбинирование операций и методов
  • Логические операторы
  • Отрицание
  • Условная конструкция (if)
  • Конструкция if-else
  • Конструкция else if
  • Тернарный оператор
  • Конструкция Switch
  • Цикл While
  • Агрегация данных (Числа)
  • Агрегация данных (Строки)
  • Обход строк
  • Условия внутри тела цикла
  • Формирование строк в циклах
  • Синтаксический сахар
  • Инкремент и декремент
  • Возврат из циклов
  • Цикл For

Операторы

Операторы в языке Java — это специальные символы, которые сообщают транслятору о том, что вы хотите выполнить операцию с некоторыми операндами. Некоторые операторы требуют одного операнда, их называют унарными. Одни операторы ставятся перед операндами и называются префиксными, другие — после, их называют постфиксными операторами. Большинство же операторов ставят между двумя операндами, такие операторы называются инфиксными бинарными операторами. Существует тернарный оператор, работающий с тремя операндами.

В Java имеется 44 встроенных оператора. Их можно разбить на 4 класса — арифметические, битовые, операторы сравнения и логические.

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

Арифметические операторы используются для вычислений так же как в алгебре (см. таблицу со сводкой арифметических операторов ниже). Допустимые операнды должны иметь числовые типы. Например, использовать эти операторы для работы с логическими типами нельзя, а для работы с типом char можно, поскольку в Java тип char — это подмножество типа int.

Оператор Результат Оператор Результат
+ Сложение + = сложение с присваиванием
вычитание (также унарный минус) -= вычитание с присваиванием
* Умножение *= умножение с присваиванием
/ Деление /= деление с присваиванием
% деление по модулю %= деление по модулю с присваиванием
++ Инкремент декремент

Четыре арифметических действия

Ниже, в качестве примера, приведена простая программа, демонстрирующая использование операторов. Обратите внимание на то, что операторы работают как с целыми литералами, так и с переменными.

class BasicMath < public static void int a = 1 + 1; int b = a * 3; main(String args[]) < int c = b / 4; int d = b - а; int e = -d; System.out.println("a = " + а); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); System.out.println("e x mod 10 = " + x % 10); System.out.println("y mod 10 a = " + a); System.out.println("b = " + b); System.out.println("c a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d 1" cellspacing="0" cellpadding="2">ОператорРезультатОператорРезультат~побитовое унарное отрицание (NOT) &побитовое И (AND)&=побитовое И (AND) с присваиванием|побитовое ИЛИ (OR)|=побитовое ИЛИ (OR) с присваиванием^побитовое исключающее ИЛИ (XOR)^=побитовое исключающее ИЛИ (XOR) с присваиванием>>сдвиг вправо>> =сдвиг вправо с присваиванием>>>сдвиг вправо с заполнением нулями>>>=сдвиг вправо с заполнением нулями с присваиваниемсдвиг влевосдвиг влево с присваиванием 

Пример программы, манипулирующей с битами

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

АВORANDXORNOT A
000001
101010
011011
111100
class Bitlogic < public static void main(String args []) < String binary[] = < "OOOO", "0001", "0010", "0011", "0100", "0101", "0110", "0111", "1000", "1001", "1010", "1011", "1100", "1101", "1110", "1111" >; int a = 3; // 0+2+1 или двоичное 0011 int b = 6; // 4+2+0 или двоичное 0110 int c = a | b; int d = a & b; int e = a ^ b; int f = (~a & b) | (a & ~b); int g = ~a & 0x0f; System.out.println(" a = " + binary[a]); System.out.println(" b = " + binary[b]); System.out.println(" ab = " + binary[c]); System.out.println(" a&b = " + binary[d]); System.out.println(" a^b = " + binary[e]); System.out.рrintln("~a&b|а^~Ь = " + binary[f]); System.out.println(" ~a b = 0x" + hex[(b >> 4) & 0x0f] + hex[b & 0x0f]); > >

Ниже приведен результат работы этой программы:

С:\> java HexByte b = 0xf1

Беззнаковый сдвиг вправо

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

class ByteUShift < static public void main(String args[]) < char hex[] = < '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'а', 'b', 'с', 'd', 'e', 'f' >; byte b = (byte) 0xf1; byte c = (byte) (b >> 4); byte d = (byte) (b >> 4); byte e = (byte) ((b & 0xff) >> 4); System.out.println(" b = 0x" + hex(b >> 4) & 0x0f] + hex[b & 0x0f]); System.out.println(" b >> 4 = 0x" + hex[(c >> 4) & 0x0f] + hex[c & 0x0f]); System.out.println("b >>> 4 = 0x" + hex[(d >> 4) & 0x0f] + hex[d & 0x0f]); System.out.println("(b & 0xff) >> 4 = 0x" + hex[(e >> 4) & 0x0f] + hex[e & 0x0f]); > >

Для этого примера переменную b можно было бы инициализировать произвольным отрицательным числом, мы использовали число с шест-надцатиричным представлением 0xf1. Переменной с присваивается ре-зультат знакового сдвига b вправо на 4 разряда. Как и ожидалось, рас-ширение знакового разряда приводит к тому, что 0xf1 превращается в 0xff. Затем в переменную d заносится результат беззнакового сдвига b вправо на 4 разряда. Можно было бы ожидать, что в результате d со-держит 0x0f, однако на деле мы снова получаем 0xff. Это - результат расширения знакового разряда, выполненного при автоматическом по-вышении типа переменной b до int перед операцией сдвига вправо. На-конец, в выражении для переменной е нам удается добиться желаемого результата - значения 0x0f. Для этого нам пришлось перед сдвигом вправо логически умножить значение переменной b на маску 0xff, очис-тив таким образом старшие разряды, заполненные при автоматическом повышении типа. Обратите внимание, что при этом уже нет необходи-мости использовать беззнаковый сдвиг вправо, поскольку мы знаем со-стояние знакового бита после операции AND.

С: \> java ByteUShift b = 0xf1 b >> 4 = 0xff b >>> 4 = 0xff b & 0xff) >> 4 = 0x0f

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

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

class OpBitEquals < public static void main(String args[]) < int a = 1; int b = 2; int с = 3; a |= 4; b >>= 1; с 

Результаты исполнения программы таковы:

С:\> Java OpBitEquals а = 3 b = 1 с = 6

Операторы отношения

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

Оператор Результат
== равно
!= не равно
> больше
меньше
>= больше или равно
меньше или равно

Значения любых типов, включая целые и вещественные числа, символы, логические значения и ссылки, можно сравнивать, используя оператор проверки на равенство == и неравенство !=. Обратите внимание - в языке Java, так же, как в С и C++ проверка на равенство обозначается последовательностью (==). Один знак (=) - это оператор присваивания.

Булевы логические операторы

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

Оператор Результат Оператор Результат
& логическое И (AND) &= И (AND) с присваиванием
| логическое ИЛИ (OR) = ИЛИ (OR) с присваиванием
^ логическое исключающее ИЛИ (XOR) ^= исключающее ИЛИ (XOR) с присваиванием
|| оператор OR быстрой оценки выражений (short circuit OR) == равно
&& оператор AND быстрой оценки выражений (short circuit AND) != не равно
! логическое унарное отрицание (NOT) ?: тернарный оператор if-then-else

Результаты воздействия логических операторов на различные комбинации значений операндов показаны в таблице.

А В OR AND XOR NOT A
false false false false false true
true false true false true false
false true true false true true
true true true true false false

Программа, приведенная ниже, практически полностью повторяет уже знакомый вам пример BitLogic. Только но на этот раз мы работаем с булевыми логическими значениями.

class BoolLogic < public static void main(String args[]) < boolean a = true; boolean b = false; boolean с = a | b; boolean d = a & b; boolean e = a ^ b; boolean f = (!a & b) | (a & !b); boolean g = !a; System.out.println(" a = " + a); System.out.println(" b = " + b); System.out.println(" a|b = " + c); System.out.println(" a&b = " + d); System.out.println(" a^b = " + e); System.out.println("!a&b|a&!b = " + f); System.out.println(" !a a = " + a); System.out.println("b = " + b); System.out.println("c = " + c); System.out.println("d = " + d); System.out.println("a / b = " + e); System.out.println("c / d 1" cellspacing="0" cellpadding="2" width="60%">Высший( )[ ]. ~! */% +- >>>>> >>= ==!= & ^ | && | | ?: =op= Низший 

В первой строке таблицы приведены три необычных оператора, о которых мы пока не говорили. Круглые скобки () используются для явной установки приоритета. Как вы узнали из предыдущей главы, квадратные скобки [] используются для индексирования переменной-массива. Оператор . (точка) используется для выделения элементов из ссылки на объект - об этом мы поговорим в главе 7. Все же остальные операторы уже обсуждались в этой главе.

Явные приоритеты

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

а >> b + 3

Какому из двух выражений, а >> (b + 3) или (а >> b) + 3, соответствует первая строка? Поскольку у оператора сложения более высокий приоритет, чем у оператора сдвига, правильный ответ - а>> (b + а). Так что если вам требуется выполнить операцию (а>>b)+ 3 без скобок не обойтись.

Что дальше?

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

Что значит оператор .

Произойдет следующее: интерфейс List наследуется от Iterable, у которого есть метод forEach(Consumer action) .

Consumer - функциональный интерфейс, с одним методом accept(T t) , который принимает один параметр. В данном случае, consumer - метод print класса System.out , который принимает строку.

Функциональный интерфейс - интерфейс, который имеет только 1 абстрактный метод.

Отслеживать
80.8k 9 9 золотых знаков 78 78 серебряных знаков 134 134 бронзовых знака
ответ дан 6 сен 2017 в 10:57
DaysLikeThis DaysLikeThis
1,798 13 13 серебряных знаков 27 27 бронзовых знаков
А можно, пожалуйста, пример?
6 сен 2017 в 10:59
@DaysLikeThis, перенеси свой комментарий в ответ
6 сен 2017 в 11:24

Оператор двойное двоеточия :: - "ссылка на метод" (Method Reference). По сути - сокращенная запись для доступа(ссылки) на метод из функционального интерфейса при использовании лямбда выражения которые появились с Java 8.

Насколько я понял это можно исползовать вызывая метод через имя класса даже если он не является статическим. Скажем такой пример, думаю суть поймёте.

class MyClass < private static boolean method()< return false; >private boolean method2() < return false; >public static void main(String[] args) < System.out.println(MyClass.method()); //для статического Consumermethod2 = MyClass::method2; //для не статического System.out.println(method2); > > 

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 будет оцениваться слева направо.

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

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