運算符

運算符優先級:

 

優先級 類別 運算符
1 基本

(x) x.y f(x) a[x] x++ x--數組

2 單目 + - ! ~ ++x --x
3 乘法與除法 * / %
4 加法與減法 +-
5 移位運算 <<   >>
6 關係運算 < >  <=  >=
7 條件等 == !=
8 位邏輯與 &
9 位邏輯異或 ^
10 位邏輯或 |
11 條件與 &&
12 條件或 ||
13 條件 ?:
14 賦值 =

 

運算符順序:

 

運算符 結合性
[ ] . ( ) (方法調用) 從左到右
! ~ ++ -- +(一元運算) -(一元運算) 從右到左
* / % 從左到右
+ - 從左到右
<< >> >>> 從左到右
< <= > >= instanceof 從左到右
== != 從左到右
& 從左到右
^ 從左到右
| 從左到右
&& 從左到右
|| 從左到右
?: 從右到左
= 從右到左

 

運算符總結:

相同優先級中,按結合順序計算。大多數運算是從左至右計算,只有三個優先級是從右至左結合的,它們是單目運算符條件運算符賦值運算符函數

基本的優先級須要記住:spa

指針最優,單目運算優於雙目運算。如正負號。指針

先乘除(模),後加減。對象

先算術運算,後移位運算,最後位運算。請特別注意:1 << 3 + 2 & 7等價於 (1 << (3 + 2))&7.ci

邏輯運算最後計算。get

運算符 名稱或含義 使用形式 說明
後置++ 後置自增運算符 變量名++  
後置-- 後置自減運算符 變量名--  
[ ] 數組下標 數組名[整型表達式]  
( ) 圓括號 (表達式)/函數名(形參表)  
. 成員選擇(對象) 對象.成員名  
-> 成員選擇(指針) 對象指針->成員名  
- 負號運算符 -表達式 單目運算符
(類型) 強制類型轉換 (數據類型)表達式  
前置++ 前置自增運算符 ++變量名 單目運算符
前置-- 前置自減運算符 --變量名 單目運算符
* 取值運算符 *指針表達式 單目運算符
& 取地址運算符 &左值表達式 單目運算符
! 邏輯非運算符 !表達式 單目運算符
~ 按位取反運算符 ~表達式 單目運算符
sizeof 長度運算符 sizeof 表達式/sizeof(類型)  
* 表達式*表達式 雙目運算符
/ 表達式/表達式 雙目運算符
% 餘數(取摸) 整型表達式%整型表達式 雙目運算符
+ 表達式+表達式 雙目運算符
- 表達式-表達式 雙目運算符
<< 左移 表達式<<表達式 雙目運算符
>> 右移 表達式>>表達式 雙目運算符
> 大於 表達式>表達式 雙目運算符
>= 大於等於 表達式>=表達式 雙目運算符
< 小於 表達式<表達式 雙目運算符
<= 小於等於 表達式<=表達式 雙目運算符
== 等於 表達式==表達式 雙目運算符
!= 不等於 表達式!= 表達式 雙目運算符
& 按位與 整型表達式&整型表達式 雙目運算符
^ 按位異或 整型表達式^整型表達式 雙目運算符
| 按位或 整型表達式|整型表達式 雙目運算符
&& 邏輯與 表達式&&表達式 雙目運算符
|| 邏輯或 表達式||表達式 雙目運算符
?: 條件運算符 表達式1? 表達式2: 表達式3 三目運算符
= 賦值運算符 變量=表達式  
/= 除後賦值 表達式/=表達式  
*= 乘後賦值 表達式*=表達式  
%= 取模後賦值 表達式%=表達式  
+= 加後賦值 表達式+=表達式  
-= 減後賦值 表達式-=表達式  
<<= 左移後賦值 變量<<=表達式  
>>= 右移後賦值 變量>>=表達式  
&= 按位與後賦值 變量&=表達式  
^= 按位異或後賦值 變量^=表達式  
|= 按位或後賦值 變量|=表達式  
逗號運算符 表達式,表達式,…
相關文章
相關標籤/搜索