程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> C#操作符的優先級

C#操作符的優先級

編輯:關於C#

當一個表達式包含多樣操作符時,操作符的優先級控制著單個操作符求值的順序。例如:表達式x+y*z按照x+(y*z)求值,因為“*”操作符比“+”操作符有更高的優先級。這和數學運算中的先乘除後加減是一致的。

表7-1總結了所有操作符從高到低的優先級順序。

表7-1 操作符從高到低的優先級順序

類別 操作符 初級操作符 (x) x.y f(x) a[x] x++ x-- new type of sizeof checked unchecked 一元操作符 + - ! ~ ++x --x (T)x 乘、除操作符 * / % 加減操作符 + - 移位操作符 << >> 關系操作符 < > <= >= is as 等式操作符 == != 邏輯與操作符 & 邏輯異或操作符 ^ 邏輯或操作符 | 條件與操作符 && 條件或操作符 || 條件操作符 ?: 賦值操作符 = *= /= %= += -= <<= >>= &= ^= |=

當一個操作數出現在兩個有相同優先級的操作符之間時,操作符按照出現的順序由左到右執行。

除了賦值的操作符,所有的二進制的操作符都是左結合(left-associative)的,也就是說,操作按照從左向右的順序執行。例如:x+y+z按(x+y)+z進行求值。

賦值操作符和條件操作符(?:)按照右接合(right-associative)的原則,即操作按照從右向左的順序執行。如:x=y=z按照x=(y=z)進行求值。

建議在寫表達式的時候,如果無法確定操作符的有效順序,則盡量采用括號來保證運算的順序,這樣也使得程序一目了然,而且自己在編程時能夠思路清晰。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved