VB.Net運算符優先順序

運算符優先順序決定運算式中術語的分組。這會影響運算式的評估方式。某些運算符的優先順序高於其他運算符,則會被優先運算; 例如,乘法運算符比加法運算符具有更高的優先順序:

例如,運算式:x = 7 + 3 * 2; 在這裏,x被賦值為13,而不是20,因為運算符*的優先順序高於+,所以它先乘以3 * 2,然後加上7,所以最後結果為:13

在這裏,優先順序最高的操作符出現在表頂部,最低優先順序的操作符出現在底部。 在運算式中,更高優先順序的運算符將首先被評估(計算)。

運算符 描述
Await 最高級
冪(^)
一元識別字和否定(+-)
乘法和浮點除法(*, /)
整數除(\)
模數運算(Mod)
算術位移(<<>>)
所有比較運算符(=<><<=>>=IsIsNotLikeTypeOf, ..., Is)
否定(Not)
連接(And, AndAlso)
包含分離(OR,OrElse)
異或(XOR)

示例

以下示例以簡單的方式演示運算符優先順序,檔:operators_precedence.vb -


Module operators_precedence
   Sub Main()
      Dim a As Integer = 20
      Dim b As Integer = 10
      Dim c As Integer = 15
      Dim d As Integer = 5
      Dim e As Integer
      e = (a + b) * c / d      ' ( 30 * 15 ) / 5
      Console.WriteLine("Value of (a + b) * c / d is : {0}", e)
      e = ((a + b) * c) / d    ' (30 * 15 ) / 5
      Console.WriteLine("Value of ((a + b) * c) / d is  : {0}", e)
      e = (a + b) * (c / d)   ' (30) * (15/5)
      Console.WriteLine("Value of (a + b) * (c / d) is  : {0}", e)
      e = a + (b * c) / d     '  20 + (150/5)
      Console.WriteLine("Value of a + (b * c) / d is  : {0}", e)
      Console.ReadLine()
   End Sub
End Module

執行上面示例代碼,得到以下結果 -

F:\worksp\vb.net\operators>vbc operators_precedence.vb
F:\worksp\vb.net\operators>operators_precedence.exe
Value of (a + b) * c / d is : 90
Value of ((a + b) * c) / d is  : 90
Value of (a + b) * (c / d) is  : 90
Value of a + (b * c) / d is  : 50

上一篇: VB.Net運算符 下一篇: VB.Net決策結構