Java/C++/C Language/PHP/Python Operator Precedence Chart

Java C++ C language PHP Python
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
Combine orientation Operator Additional information
Non-binding clone new clone: clone new: new
Left [ array()
Non-binding ++ -- Increment/Decrement operators
Non-binding ~ - (int) (float) (string) (array) (object) (bool) @ Type
Non-binding instanceof Type
right-join ! Logical operators
Left * / % Arithmetic operators
Left + - . Arithmetic operators and string operators
Left << >> Bitwise operators
Non-binding < <= > >= <> Comparison operators
Non-binding == != === !== Comparison operators
Left & Bitwise operators and reference
Left ^ Bitwise operators
Left | Bitwise operators
Left && Logical operators
Left || Logical operators
Left ? : ternary operator
Right = += -= *= /= .= %= &= |= ^= <<= >>= assignment operator
Left and Logical operators
Left xor Logical operators
Left or Logical operators
Left , Used in multiple places.

This table lists the precedence of Python operators (from low to high).

From the lowest priority (least tightly bound) to the highest priority (most tightly bound).

This means that in an expression, Python first calculates the operators lower in the table, then those above.

Python operator precedence
Operator Description
lambda Lambda expression
or Boolean "OR"
and Boolean "AND"
not x Boolean "NOT"
in,not in Member test
is,is not Identity Test
<,<=,>,>=,!=,== Compare
| Bitwise OR
^ Bitwise XOR
& Bitwise AND
<<,>> Shift
+,- Addition and subtraction
*,/,% Multiplication, division, and modulus
+x,-x Plus or minus sign
~x Bitwise inversion
** index
x.attribute Attribute reference
x[index] subscript
x[index:index] Address segment
f(arguments...) function call
(experession,...) binding or tuple display
[expression,...] List display
{key:datum,...} dictionary shows
'expression,...' String conversion

You recently used:

收藏: favorite Menu QQ