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


Оператор
Значение
Приоритет
Комментарий
()
Группировка частей выражения
1 (высший)

!
Логическая операция NOT
2

~
Побитовая инверсия (NOT)
3

+
Одиночный плюс
4

-
Одиночный минус
4

*
Умножение
5

/
Деление
5
Внимание, деление на ноль
%
Остаток от деления
5
дает ошибку number.zerodivision.
\
Целочисленное деление
5
Операнды преобразуются к типу Int.
+
Сложение
6

-
Вычитание
6

<<
Побитовый сдвиг влево
7
Операнды
>>
Побитовый сдвиг вправо
7
всех битовых операторов
&
Побитовая операция AND
8
автоматически
|
Побитовая операция OR
9
преобразуются к типу
!|
Побитовая операция XOR
10
Int.
is
Проверка типа
11

def
Определен ли объект?
11

in
Находится ли текущий документ
в каталоге?
11

-f
Существует ли файл?
11

–d
Существует ли каталог?
11

==
Равно
12

!=
Неравно
12

eq
Строки равны
12

ne
Строки не равны
12

<
Число меньше
13

>
Число больше
13

<=
Число меньше или равно
13

>=
Число больше или равно
13

lt
Строка меньше
13

gt
Строка больше
13

le
Строка меньше или равна
13

ge
Строка больше или равна
13

&&
Логическая операция AND
14
второй операнд не вычисляется, если первый - ложь
||
Логическая операция OR
16
второй операнд не вычисляется, если первый - истина
!||
Логическая операция XOR
16 (низший)




User comments:

G_Z 25.01.2017 20:05

Стоит иметь в виду, что целочисленное деление не просто отбрасывает дробную часть результата или округляет его, а отбрасывает дробную часть и операндов, и результата.
Что может приводить к ошибке деления на ноль, в случае, если делитель — дробное число меньше единицы.
Лучше использовать явные методы округления или отбрасывания дробной части класса Math.

$result(5 \ 0.5) приведёт к ошибке number.zerodivision, а не к результату 10.


coel 25.11.2012 00:39

|| - Логическая операция OR - 16 — исправьте приоритет на 15 пожалуйста.


In order to add comments you must register.
Copyright © 1997–2017 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 31.01.2017