C++和Java运算符优先级表
1. C++ operator precedence
::
Scope resolutionLeft-to-right++
--
Suffix/postfix increment and decrement()
Function call[]
Array subscripting.
Element selection by reference?>
Element selection through pointer++
--
Prefix increment and decrementRight-to-left+
?
Unary plus and minus!
~
Logical NOT and bitwise NOT(type)
Type cast*
Indirection (dereference)&
Address-ofsizeof
Size-ofnew
, new[]
Dynamic memory allocationdelete
, delete[]
Dynamic memory deallocation.*
->*
Pointer to memberLeft-to-right*
/
%
Multiplication, division, and remainder+
?
Addition and subtraction<<
>>
Bitwise left shift and right shift<
<=
For relational operators < and ≤ respectively>
>=
For relational operators > and ≥ respectively==
!=
For relational = and ≠ respectively&
Bitwise AND^
Bitwise XOR (exclusive or)|
Bitwise OR (inclusive or)&&
Logical AND||
Logical OR?:
Ternary conditionalRight-to-left=
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 ORthrow
Throw operator (for exceptions),
CommaLeft-to-right2. Java operator precedence
[ ]
array indexleft()
method call.
member access 2++
pre- or postfix incrementright--
pre- or postfix decrement+ -
unary plus, minus~
bitwise NOT!
boolean (logical) NOT(type)
type castnew
object creation 3* / %
multiplication, division, remainderleft 4+ -
addition, substractionleft+
string concatenation 5<<
signed bit shift leftleft>>
signed bit shift right>>>
unsigned bit shift right 6< <=
less than, less than or equal toleft> >=
greater than, greater than or equal toinstanceof
reference test 7==
equal toleft!=
not equal to 8&
bitwise ANDleft&
boolean (logical) AND 9^
bitwise XORleft^
boolean (logical) XOR 10|
bitwise ORleft|
boolean (logical) OR 11&&
boolean (logical) ANDleft 12||
boolean (logical) ORleft 13? :
conditionalright 14=
assignmentright*= /= += -= %=
<<= >>= >>>=
&= ^= |=
combinated assignment 1. http://en.cppreference.com/w/cpp/language/operator_precedence
2. http://bmanolov.free.fr/javaoperators.php