运算符优先级介绍

Posted by kaiwen on May 20, 2020

Java 运算符优先级

运算符 优先级
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运算符优先级

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

python运算符优先级

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

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

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

运算符 描述
lambda Lambda表达式
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,...' 字符串转换