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

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

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

Содержание

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

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

Пример

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

Это произведет следующий результат:

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

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

Пример

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

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

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

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

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

Пример

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

Это произведет следующий результат:

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

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

Пример

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

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

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

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

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

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

Пример

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

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

Оператор instanceof

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

Примеры

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

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

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

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

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

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

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

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

Источник

Операторы

Содержание

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

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

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

Пример

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

Это произведет следующий результат:

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

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

Пример

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

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

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

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

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

Пример

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

Это произведет следующий результат:

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

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

Пример

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

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

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

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

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

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

Пример

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

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

Оператор instanceof

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

Примеры

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

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

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

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

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

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

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

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

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

Источник

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

public static void main(String args []) <

int a = 3; // 0+2+1 или двоичное 0011

int b = 6; // 4+2+0 или двоичное 0110

System.out.println(» a = » + binary[a]);

System.out.println(» b = » + binary[b]);

System.out.println(» ab = » + binary[c]);

System.out.println(» a^b = » + binary[e]);

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

Сдвиг и влево и вправо

Оператор >> означает в языке Java сдвиг вправо. Он перемещает все биты своего левого операнда вправо на число позиций, заданное правым операндом. Когда биты левого операнда выдвигаются за самую правую позицию слова, они теряются. При сдвиге вправо освобождающиеся старшие (левые) разряды сдви­гаемого числа заполняются предыдущим содержимым знакового разряда. Такое поведение называют расширением знакового разряда.

static public void main(String args[]) <

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

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

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

static public void main(String args[]) <

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

С: \> java ByteUShift

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

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

public static void main(String args[]) <

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

С:\> Java OpBitEquals

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

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

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

И (AND) с присваиванием

ИЛИ (OR) с присваиванием

логическое исключающее ИЛИ (XOR)

исключающее ИЛИ (XOR) с присваиванием

оператор OR быстрой оценки выражений (short circuit OR)

оператор AND быстрой оценки выражений (short circuit AND)

логическое унарное отрицание (NOT)

тернарный оператор if-then-else

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

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

public static void main(String args[]) <

Операторы быстрой оценки логических выражений (short circuit logical operators)

Существуют два интересных дополнения к набору логических опера­торов. Это — альтернативные версии операторов AND и OR, служащие для быстрой оценки логических выражений. Вы знаете, что если первый операнд оператора OR имеет значение true, то независимо от значения второго операнда результатом операции будет величина true. Аналогично в случае оператора AND, если первый операнд — false, то значение вто­рого операнда на результат не влияет — он всегда будет равен false. Если вы в используете операторы && и || вместо обычных форм & и |, то Java не производит оценку правого операнда логического выражения, если ответ ясен из значения левого операнда. Общепринятой практикой является использование операторов && и || практически во всех случаях оценки булевых логических выражений. Версии этих операторов & и | применяются только в битовой арифметике.

Тернарный оператор if-then-else

Общая форма оператора if-then-use такова:

выражение1? выражение2: выражениеЗ

В качестве первого операнда — «выражение1» — может быть исполь­зовано любое выражение, результатом которого является значение типа boolean. Если результат равен true, то выполняется оператор, заданный вторым операндом, то есть, «выражение2». Если же первый операнд paвен false, то выполняется третий операнд — «выражениеЗ». Второй и третий операнды, то есть «выражение2» и «выражениеЗ», должны воз­вращать значения одного типа и не должны иметь тип void.

В приведенной ниже программе этот оператор используется для про­верки делителя перед выполнением операции деления. В случае нулевого делителя возвращается значение 0.

public static void main(String args[]) <

Источник

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

public static void main(String args []) <

int a = 3; // 0+2+1 или двоичное 0011

int b = 6; // 4+2+0 или двоичное 0110

System.out.println(» a = » + binary[a]);

System.out.println(» b = » + binary[b]);

System.out.println(» ab = » + binary[c]);

System.out.println(» a^b = » + binary[e]);

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

Сдвиг и влево и вправо

Оператор >> означает в языке Java сдвиг вправо. Он перемещает все биты своего левого операнда вправо на число позиций, заданное правым операндом. Когда биты левого операнда выдвигаются за самую правую позицию слова, они теряются. При сдвиге вправо освобождающиеся старшие (левые) разряды сдви­гаемого числа заполняются предыдущим содержимым знакового разряда. Такое поведение называют расширением знакового разряда.

static public void main(String args[]) <

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

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

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

static public void main(String args[]) <

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

С: \> java ByteUShift

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

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

public static void main(String args[]) <

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

С:\> Java OpBitEquals

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

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

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

И (AND) с присваиванием

ИЛИ (OR) с присваиванием

логическое исключающее ИЛИ (XOR)

исключающее ИЛИ (XOR) с присваиванием

оператор OR быстрой оценки выражений (short circuit OR)

оператор AND быстрой оценки выражений (short circuit AND)

логическое унарное отрицание (NOT)

тернарный оператор if-then-else

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

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

public static void main(String args[]) <

Операторы быстрой оценки логических выражений (short circuit logical operators)

Существуют два интересных дополнения к набору логических опера­торов. Это — альтернативные версии операторов AND и OR, служащие для быстрой оценки логических выражений. Вы знаете, что если первый операнд оператора OR имеет значение true, то независимо от значения второго операнда результатом операции будет величина true. Аналогично в случае оператора AND, если первый операнд — false, то значение вто­рого операнда на результат не влияет — он всегда будет равен false. Если вы в используете операторы && и || вместо обычных форм & и |, то Java не производит оценку правого операнда логического выражения, если ответ ясен из значения левого операнда. Общепринятой практикой является использование операторов && и || практически во всех случаях оценки булевых логических выражений. Версии этих операторов & и | применяются только в битовой арифметике.

Тернарный оператор if-then-else

Общая форма оператора if-then-use такова:

выражение1? выражение2: выражениеЗ

В качестве первого операнда — «выражение1» — может быть исполь­зовано любое выражение, результатом которого является значение типа boolean. Если результат равен true, то выполняется оператор, заданный вторым операндом, то есть, «выражение2». Если же первый операнд paвен false, то выполняется третий операнд — «выражениеЗ». Второй и третий операнды, то есть «выражение2» и «выражениеЗ», должны воз­вращать значения одного типа и не должны иметь тип void.

В приведенной ниже программе этот оператор используется для про­верки делителя перед выполнением операции деления. В случае нулевого делителя возвращается значение 0.

public static void main(String args[]) <

Источник

Операторы в Java

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

Давайте посмотрим на них подробно.

// Java-программа для иллюстрации
// арифметические операторы

public class operators <

public static void main(String[] args)

System.out.println( «a + b = » + (a + b));

// + оператор, если используется со строками

// объединяет данные строки.

System.out.println( «x + y = » + x + y);

System.out.println( «a * b = » + (a * b));

System.out.println( «a / b = » + (a / b));

// оператор по модулю дает остаток

// при делении первого операнда на второй

System.out.println( «a % b = » + (a % b));

// если знаменатель равен 0 в делении

// тогда генерируется арифметическое исключение.

// раскомментирование ниже строки будет

// System.out.println (a / c);

// Java-программа для иллюстрации
// унарные операторы

public class operators <

public static void main(String[] args)

boolean condition = true ;

// оператор предварительного увеличения

// a = a + 1 и затем c = a;

System.out.println( «Value of c (++a) = » + c);

System.out.println( «Value of c (b++) = » + c);

// оператор перед декрементом

System.out.println( «Value of c (—d) = » + c);

// оператор после декремента

System.out.println( «Value of c (e—) = » + c);

// Логический не оператор

Во многих случаях оператор присваивания может быть объединен с другими операторами для создания более короткой версии оператора, называемого составным оператором. Например, вместо a = a + 5 мы можем написать a + = 5.

// Java-программа для иллюстрации
// операторы присваивания

public class operators <

public static void main(String[] args)

// простой оператор присваивания

System.out.println( «Value of c = » + c);

// Следующее утверждение выдает исключение

// как значение правого операнда должно быть инициализировано

// до назначения, и программа не будет

// вместо нижеприведенных выражений

// операторы присваивания могут быть использованы для

// обеспечить ту же функциональность.

System.out.println( «a, b, e, f = » + a + «, «

// оператор стенографического присваивания

System.out.println( «a, b, e, f («

+ «using shorthand operators)= «

Некоторые из реляционных операторов

// Java-программа для иллюстрации
// реляционные операторы

public class operators <

public static void main(String[] args)

boolean condition = true ;

// различные условные операторы

System.out.println( «a == b :» + (a == b));

System.out.println( «a + (a

System.out.println( «a + (a

System.out.println( «a > b :» + (a > b));

System.out.println( «a >= b :» + (a >= b));

// Массивы нельзя сравнивать с

// реляционные операторы, потому что объекты

// хранить ссылки не значение

System.out.println( «x == y : » + (ar == br));

// Java-программа для иллюстрации
// логические операторы

public class operators <

public static void main(String[] args)

Scanner s = new Scanner(System.in);

System.out.print( «Enter username:» );

String uuid = s.next();

System.out.print( «Enter password:» );

String upwd = s.next();

// Проверить, совпадают ли имя пользователя и пароль.

if ((uuid.equals(x) && upwd.equals(y))

System.out.println( «Welcome user.» );

System.out.println( «Wrong uid or password» );

Выход:

Вышеприведенный оператор означает, что если условие оценивается как true, тогда выполнять операторы после ‘?’ иначе выполнить операторы после ‘:’.

// Java-программа для иллюстрации
// максимум три числа используя
// троичный оператор.

public class operators <

public static void main(String[] args)

// результат содержит максимум три

System.out.println( «Max of three numbers = «

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

// Java-программа для иллюстрации
// побитовые операторы

public class operators <

public static void main(String[] args)

// Java считает это восьмеричным значением

// из 8, поскольку число начинается с 0.

System.out.println( «a|b = » + (a | b));

System.out.println( «a^b = » + (a ^ b));

// также можно комбинировать с

// оператор присваивания для краткого обозначения

System.out.println( «a= » + a);

// Java-программа для иллюстрации
// операторы сдвига

public class operators <

public static void main(String[] args)

// оператор левого смещения

// аналогично 5 * (2 ^ 2)

System.out.println( «a + (a 2 ));

// 0000 0101 >> 2 = 0000 0001 (1)

// аналогично 5 / (2 ^ 2)

System.out.println( «a>>2 = » + (a >> 2 ));

// беззнаковый оператор смещения вправо

System.out.println( «b>>>2 = » + (b >>> 2 ));

// Java-программа для иллюстрации
// экземпляр оператора

public static void main(String[] args)

Person obj1 = new Person();

Person obj2 = new Boy();

// Поскольку объект obj имеет тип person, он не является

// экземпляр Boy или интерфейс

System.out.println( «obj1 instanceof Person: «

+ (obj1 instanceof Person));

System.out.println( «obj1 instanceof Boy: «

+ (obj1 instanceof Boy));

System.out.println( «obj1 instanceof MyInterface: «

+ (obj1 instanceof MyInterface));

// Поскольку obj2 имеет тип boy,

// и реализует интерфейс Myinterface

// это экземпляр всех этих классов

System.out.println( «obj2 instanceof Person: «

+ (obj2 instanceof Person));

System.out.println( «obj2 instanceof Boy: «

+ (obj2 instanceof Boy));

System.out.println( «obj2 instanceof MyInterface: «

+ (obj2 instanceof MyInterface));

class Boy extends Person implements MyInterface <

Приоритет и ассоциативность операторов

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

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

Интересные вопросы по операторам

public class operators <

public static void main(String[] args)

// правила приоритета для арифметических операторов.

System.out.println( «a+b/d = » + (a + b / d));

// если такой же приоритет, то ассоциативный

public class operators <

public static void main(String[] args)

// a = b +++ c компилируется как

// a = b + c, то b = b + 1

System.out.println( «Value of a(b+c), «

// a = b +++++ c компилируется как

// который выдает ошибку.

// System.out.println (b +++++ c);

public class operators <

public static void main(String[] args)

// объединяет x и y как

// первый x добавляется в «concatenation (x + y) =»

// создаем «сцепление (x + y) = 5»

// а затем 8 дополнительно объединяется.

System.out.println( «Concatenation (x+y)= «

System.out.println( «Addition (x+y) = «

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

Источник

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

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