Quick Index:

Java Operator Precedence
Operator Priority
postfix expr++ expr--
unary ++expr --expr +expr -expr ~ !
multiplicative * / %
additive + -
shift << >> >>>
relational < > <= >= instanceof
equality == !=
bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
logical AND &&
logical OR ||
ternary ? :
assignment = += -= *= /= %= &= ^= |= <<= >>= >>>=
C++ Operator Precedence
Precedence Operator Description Associativity
1 :: Scope resolution Left-to-right
2 ++   -- Suffix/postfix increment and decrement
() Function call
[] Array subscripting
. Element selection by reference
-> Element selection through pointer
3 ++   -- Prefix increment and decrement Right-to-left
+   - Unary plus and minus
!   ~ Logical NOT and bitwise NOT
(type) Type cast
* Indirection (dereference)
& Address-of
sizeof Size-of
new, new[] Dynamic memory allocation
delete, delete[] Dynamic memory deallocation
4 .*   ->* Pointer to member Left-to-right
5 *   /   % Multiplication, division, and remainder
6 +   - Addition and subtraction
7 <<   >> Bitwise left shift and right shift
8 <   <= For relational operators < and ≤ respectively
>   >= For relational operators > and ≥ respectively
9 ==   != For relational = and ≠ respectively
10 & Bitwise AND
11 ^ Bitwise XOR (exclusive or)
12 | Bitwise OR (inclusive or)
13 && Logical AND
14 || Logical OR
15 ?: Ternary conditional Right-to-Left
16 = Direct assignment (provided by default for C++ classes)
+=   -= Assignment by sum and difference
*=   /=   %= Assignment by product, quotient, and remainder
<<=   >>= Assignment by bitwise left shift and right shift
&=   ^=   |= Assignment by bitwise AND, XOR, and OR
17 throw Throw operator (for exceptions)
18 , Comma Left-to-right
C Language Operator Precedence
Precedence Operator Description Associativity
1 ++ -- Suffix/postfix increment and decrement Left-to-right
() Function call
[] Array subscripting
. Structure and union member access
-> Structure and union member access through pointer
(type){list} Compound literal(C99)
2 ++ -- Prefix increment and decrement Right-to-left
+ - Unary plus and minus
! ~ Logical NOT and bitwise NOT
(type) Type cast
* Indirection (dereference)
& Address-of
sizeof Size-of
_Alignof Alignment requirement(C11)
3 * / % Multiplication, division, and remainder Left-to-right
4 + - Addition and subtraction
5 << >> Bitwise left shift and right shift
6 < <= For relational operators < and ≤ respectively
> >= For relational operators > and ≥ respectively
7 == != For relational = and ≠ respectively
8 & Bitwise AND
9 ^ Bitwise XOR (exclusive or)
10 | Bitwise OR (inclusive or)
11 && Logical AND
12 || Logical OR
13 ?: Ternary conditional Right-to-Left
14 = Simple assignment
+= -= Assignment by sum and difference
*= /= %= Assignment by product, quotient, and remainder
<<= >>= Assignment by bitwise left shift and right shift
&= ^= |= Assignment by bitwise AND, XOR, and OR
15 , Comma Left-to-right
PHP Operator Precedence
Associativity Operator Additional Information
Non-associative clone new clone and new
Left [ array()
Non-associative ++ -- increment/decrement operators
Non-associative ~ - (int) (float) (string) (array) (object) (bool) @ type
Non-associative instanceof type
Right-associative ! logical operator
Left * / % arithmetic operators
Left + - . arithmetic operators and string operators
Left << >> bitwise operators
Non-associative < <= > >= <> comparison operators
Non-associative == != === !== comparison operators
Left & bitwise operator and reference
Left ^ bitwise operator
Left | bitwise operator
Left && logical operator
Left || logical operator
Left ? : conditional (ternary) operator
Right = += -= *= /= .= %= &= |= ^= <<= >>= assignment operators
Left and logical operator
Left xor logical operator
Left or logical operator
Left , used in multiple places

This table shows the operator precedence in Python (from low to high).

From the lowest precedence (loosest binding) to the highest precedence (tightest binding).

This means that in an expression, Python will calculate the operators lower in the table first, and then calculate the operators listed at the top of the table.

Python Operator Precedence
Operator Description
lambda Lambda expression
or Boolean "or"
and Boolean "and"
not x Boolean "not"
in, not in Membership test
is, is not Identity
<, <=, >, >=, !=, == Comparison
| Bitwise OR
^ Bitwise XOR
& Bitwise AND
<<, >> Shift
+, - Addition and subtraction
* / % Multiplication, division, and modulo
+x, -x Positive and negative signs
~x Bitwise NOT
** Exponentiation
x.attribute Attribute reference
x[index] Indexing
x[index:index] Slicing
f(arguments...) Function call
(expression,...) Tuple packing or sequence display
[expression,...] List display
{key:datum,...} Dictionary display
'expression,...' String conversion