Java、C++、C#、PHP、Python等程序对应运算符优先级

Java 运算符优先级
运算符优先级
postfixexpr++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++运算符优先级
PrecedenceOperatorDescriptionAssociativity
1::Scope resolutionLeft-to-right
2++  --Suffix/postfix increment and decrement
()Function call
[]Array subscripting
.Element selection by reference
−>Element selection through pointer
3++  --Prefix increment and decrementRight-to-left
+  Unary plus and minus
!  ~Logical NOT and bitwise NOT
(type)Type cast
*Indirection (dereference)
&Address-of
sizeofSize-of
new,new[]Dynamic memory allocation
delete,delete[]Dynamic memory deallocation
4.*  ->*Pointer to memberLeft-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 conditionalRight-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
17throwThrow operator (for exceptions)
18,CommaLeft-to-right

C语言运算符优先级
PrecedenceOperatorDescriptionAssociativity
1++--Suffix/postfix increment and decrementLeft-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 decrementRight-to-left
+Unary plus and minus
!~Logical NOT and bitwise NOT
(type)Type cast
*Indirection (dereference)
&Address-of
sizeofSize-of
_AlignofAlignment requirement(C11)
3*/%Multiplication, division, and remainderLeft-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 conditionalRight-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,CommaLeft-to-right

PHP运算符优先级
结合方向运算符附加信息
非结合clone newclone 和 new
[array()
非结合++ --递增/递减运算符
非结合~ - (int) (float) (string) (array) (object) (bool) @类型
非结合instanceof类型
右结合!逻辑操作符
* / %算术运算符
+ - .算术运算符 和 字符串运算符
<< >>位运算符
非结合< <= > >= <>比较运算符
非结合== != === !==比较运算符
&位运算符 和 引用
^位运算符
|位运算符
&&逻辑运算符
||逻辑运算符
? :三元运算符
= += -= *= /= .= %= &= |= ^= <<= >>=赋值运算符
and逻辑运算符
xor逻辑运算符
or逻辑运算符
,多处用到

这个表给出Python的运算符优先级(从低到高).

从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。

这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。

Python 运算符优先级
运算符描述
lambdaLambda表达式
or布尔“或”
and布尔“与”
not x布尔“非”
in,not in成员测试
is,is not同一性测试
<,<=,>,>=,!=,==比较
|按位或
^按位异或
&按位与
<<,>>移位
+,-加法与减法
*,/,%乘法、除法与取余
+x,-x正负号
~x按位翻转
**指数
x.attribute属性参考
x[index]下标
x[index:index]寻址段
f(arguments...)函数调用
(experession,...)绑定或元组显示
[expression,...]列表显示
{key:datum,...}字典显示
'expression,...'字符串转换

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注