Solidity - 運算子



什麼是運算子?

讓我們來看一個簡單的表示式4 + 5 等於 9。這裡 4 和 5 稱為運算元,而 '+' 稱為運算子。Solidity 支援以下型別的運算子。

  • 算術運算子
  • 比較運算子
  • 邏輯(或關係)運算子
  • 賦值運算子
  • 條件(或三元)運算子

讓我們逐一看看所有運算子。

算術運算子

Solidity 支援以下算術運算子:

假設變數 A 為 10,變數 B 為 20,則:

顯示示例

序號 運算子 & 描述
1

+ (加法)

將兩個運算元相加

例:A + B 將得到 30

2

- (減法)

從第一個運算元中減去第二個運算元

例:A - B 將得到 -10

3

* (乘法)

將兩個運算元相乘

例:A * B 將得到 200

4

/ (除法)

將分子除以分母

例:B / A 將得到 2

5

% (取模)

輸出整數除法的餘數

例:B % A 將得到 0

6

++ (自增)

將整數值增加一

例:A++ 將得到 11

7

-- (自減)

將整數值減少一

例:A-- 將得到 9

比較運算子

Solidity 支援以下比較運算子:

假設變數 A 為 10,變數 B 為 20,則:

顯示示例

序號 運算子 & 描述
1

== (等於)

檢查兩個運算元的值是否相等,如果相等,則條件為真。

例:(A == B) 為假。

2

!= (不等於)

檢查兩個運算元的值是否相等,如果不相等,則條件為真。

例:(A != B) 為真。

3

> (大於)

檢查左側運算元的值是否大於右側運算元的值,如果大於,則條件為真。

例:(A > B) 為假。

4

< (小於)

檢查左側運算元的值是否小於右側運算元的值,如果小於,則條件為真。

例:(A < B) 為真。

5

>= (大於等於)

檢查左側運算元的值是否大於或等於右側運算元的值,如果大於或等於,則條件為真。

例:(A >= B) 為假。

6

<= (小於等於)

檢查左側運算元的值是否小於或等於右側運算元的值,如果小於或等於,則條件為真。

例:(A <= B) 為真。

邏輯運算子

Solidity 支援以下邏輯運算子:

假設變數 A 為 10,變數 B 為 20,則:

顯示示例

序號 運算子 & 描述
1

&& (邏輯與)

如果兩個運算元都不為零,則條件為真。

例:(A && B) 為真。

2

|| (邏輯或)

如果兩個運算元中任何一個不為零,則條件為真。

例:(A || B) 為真。

3

! (邏輯非)

反轉其運算元的邏輯狀態。如果條件為真,則邏輯非運算子將使其為假。

例:! (A && B) 為假。

位運算子

Solidity 支援以下位運算子:

假設變數 A 為 2,變數 B 為 3,則:

顯示示例

序號 運算子 & 描述
1

& (按位與)

它對每個整數引數的每一位執行布林與運算。

例:(A & B) 為 2。

2

| (按位或)

它對每個整數引數的每一位執行布林或運算。

例:(A | B) 為 3。

3

^ (按位異或)

它對每個整數引數的每一位執行布林異或運算。異或意味著運算元一或運算元二為真,但兩者不同時為真。

例:(A ^ B) 為 1。

4

~ (按位非)

它是一個一元運算子,透過反轉運算元中的所有位來操作。

例:(~B) 為 -4。

5

<< (左移)

它將第一個運算元中的所有位向左移動第二個運算元中指定的位數。新的位用零填充。將值左移一位相當於將其乘以 2,左移兩位相當於將其乘以 4,依此類推。

例:(A << 1) 為 4。

6

>> (右移)

二進位制右移運算子。左側運算元的值向右移動右側運算元指定的位數。

例:(A >> 1) 為 1。

7

>>> (帶零的右移)

此運算子類似於 >> 運算子,只是左側移入的位始終為零。

例:(A >>> 1) 為 1。

賦值運算子

Solidity 支援以下賦值運算子:

顯示示例

序號 運算子 & 描述
1

= (簡單賦值)

將右側運算元的值賦給左側運算元

例:C = A + B 將 A + B 的值賦給 C

2

+= (加法賦值)

它將右側運算元新增到左側運算元,並將結果賦給左側運算元。

例:C += A 等效於 C = C + A

3

-= (減法賦值)

它從左側運算元中減去右側運算元,並將結果賦給左側運算元。

例:C -= A 等效於 C = C - A

4

*= (乘法賦值)

它將右側運算元與左側運算元相乘,並將結果賦給左側運算元。

例:C *= A 等效於 C = C * A

5

/= (除法賦值)

它將左側運算元除以右側運算元,並將結果賦給左側運算元。

例:C /= A 等效於 C = C / A

6

%= (取模賦值)

它使用兩個運算元進行取模運算,並將結果賦給左側運算元。

例:C %= A 等效於 C = C % A

注意 - 位運算子也適用相同的邏輯,因此它們將變成 <<=、>>=、>>=、&=、|= 和 ^=。

條件運算子 (? :)

條件運算子首先評估表示式的真假值,然後根據評估結果執行兩個給定語句中的一個。

顯示示例

序號 運算子和描述
1

? : (條件)

如果條件為真?則值為 X:否則值為 Y

廣告
© . All rights reserved.