運算符優先級

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 :: 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
newnew[] Dynamic memory allocation
deletedelete[] 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語言運算符優先級
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運算符優先級
結合方向 運算符 附加信息
非結合 clone new clone 和 new
[ array()
非結合 ++ -- 遞增/遞減運算符
非結合 ~ - (int) (float) (string) (array) (object) (bool) @ 類型
非結合 instanceof 類型
右結合 ! 邏輯操作符
* / % 算術運算符
+ - . 算術運算符 和 字符串運算符
<< >> 位運算符
非結合 < <= > >= <> 比較運算符
非結合 == != === !== 比較運算符
& 位運算符 和 引用
^ 位運算符
| 位運算符
&& 邏輯運算符
|| 邏輯運算符
? : 三元運算符
= += -= *= /= .= %= &= |= ^= <<= >>= 賦值運算符
and 邏輯運算符
xor 邏輯運算符
or 邏輯運算符
, 多處用到

這個表給出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,...' 字符串轉換


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章