Operators

Intro

Problem

Как выполнять какие-то действия над данными?

Solutions

Операторы

Expressions

Expressions

  • Expressions (выражения) выполняют действия над данными в программе.

  • Expressions используют для:

    • вычислений

    • присвоения значений переменным

    • управления потоком выполнения программы

Expression

Expression

Operands

  • Operands (операнды) - это:

    • variables (переменные)

    • constants (константы)

    • literals (литералы)

    • expressions (выражения)

Operators

  • Operators (операторы) - это специальные символы

  • Operators сообщают о том, что необходимо выполнить операцию с некоторым набором operands

Operators

Operators by Number operands

Operators by Number operands

Operators by Type

Operators by Type

Arithmetic operators

Binary Arithmetic operators

Binary Arithmetic operators

Unary Arithmetic operators

Unary Arithmetic operators

Equality and Relational operators

Equality and Relational operators

Equality and Relational operators

Assignment operators

Expression without Result

Expression without Result

Assignment operators

Assignment operators

Increment and Decrement

Increment

Increment

Decrement

Decrement

Conditional OR Logical operators

Conditional OR Logical operators

Logical operators

Logical NOT

Logical NOT

Logical AND

Logical AND

Logical OR

Logical OR

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

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

Обозначение

Пример

Название

Описание

&

a & b

AND«и»

Побитовое «И»

|

c | d

OR«или»

Побитовое «ИЛИ»

~

~a

NOT«не»

Побитовое «НЕ»

^

a ^ b

XOR«исключающее или»

Побитовое «ИСКЛЮЧАЮЩЕЕ ИЛИ»

Побитовый оператор ^

A

B

A ^ B

true

true

false

true

false

true

false

true

true

false

false

false

Examples

Пример

Числа в битовом виде

Ответ в битовом виде

Ответ

5 & 3

00000101 & 00000011

00000001

1

7 & 2

00000111 & 00000010

00000010

2

5 | 9

00000101 | 00001001

00001101

13

5 ^ 9

00000101 ^ 00001001

00001100

12

~9

~00001001

11110110

246

Операторы сдвига

Операторы сдвига

Обозначение

Пример

Название

Описание (что делает)

>>

a >> b

сдвиг вправо

Сдвигает биты числа a, на b разрядов вправо.

<<

c << d

сдвиг влево

Сдвигает биты числа c, на d разрядов влево.

>>>

a >>> 2

сдвиг вправо с заполнением нулем

Сдвигает биты числа a, на 2 разряда вправо.

Examples

Пример

Числа в битовом виде

Ответ в битовом виде

Ответ

10 >> 1

00001010 >> 1

00000101

5

10 >> 2

00001010 >> 2

00000010

2

10 << 1

00001010 << 1

00010100

20

10 << 2

00001010 << 2

00101000

40

Examples

Выражение

Результат

Описание

10001010 >> 1

11000101

Отрицательное число остается отрицательным. Новые разряды заполняются 1, для отрицательных чисел.

10001010 >> 2

11100010

Аналогично

10001010 >> 3

11110001

Аналогично

10001010 >>> 1

01000101

Отрицательное число перестает быть отрицательным. Новые разряды заполняются 0, для отрицательных чисел.

10001010 >>> 2

00100010

Аналогично

10001010 >>> 3

00010001

Аналогично

Остальные операторы

Остальные операторы

Запись

Пример

Описание

()

(a + b) * c

Скобки повышают приоритет выполнения. Сначала выполняется то, что в скобках.

[]

c [i] = c [i + 1]

Получение элемента массива по индексу.

.

int n = a.length

«оператор точка» – получение переменных и методов у объекта.

Приоритет операций

Приоритет операций

() [] .
++ -- + - ~ !
* / %
+ -
<< >> >>>
< > <= >= instanceof
== !=
&
^
|
&&
||
? : (тернарный оператор)
= += -= *= /= %= &= ^= |= <<= >>= >>>=