Golang基礎語法 運算子

2022-06-13 12:12:08 字數 1760 閱讀 9414

表示式:(a + b) * c

​ a,b,c叫做運算元

​ +,*,叫做運算子

+ - * / %(求餘) ++ --
== != > < >= <=
運算子

描述&&

所謂邏輯與運算子。如果兩個運算元都非零,則條件變為真

||所謂的邏輯或操作。如果任何兩個運算元是非零,則條件變為真

!所謂邏輯非運算子。使用反轉運算元的邏輯狀態。如果條件為真,那麼邏輯非操後結果為假ab

a&ba|b

a^b000

0001

0111

1110

1001

1這裡最難理解的就是^了,只要認為ab兩者都相同的時候,為0,其他都為1

假設a為60,b為13

運算描述示例&

二進位制與操作副本位的結果,如果它存在於兩個運算元

(a & b) = 12, 也就是 0000 1100

|二進位制或操作副本,如果它存在乙個運算元

(a | b) = 61, 也就是 0011 1101

^二進位制異或操作副本,如果它被設定在乙個運算元就是按位取非

(a ^ b) = 49, 也就是 0011 0001

&^二進位制位清空&^

(a&^b)=48,也就是110000

<<

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

a << 2 =240 也就是 1111 0000

>>

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

a >> 2 = 15 也就是 0000 1111

運算子描述示例=

簡單的賦值操作符,分配值從右邊的運算元左側的運算元

c = a + b 將分配a + b的值到c

+=相加並賦值運算子,它增加了右運算元左運算元和分配結果左運算元

c += a 相當於 c = c + a

-=減和賦值運算子,它減去右運算元從左側的運算元和分配結果左運算元

c -= a 相當於 c = c - a

*=乘法和賦值運算子,它乘以右邊的運算元與左運算元和分配結果左運算元

c *= a 相當於 c = c * a

/=除法賦值運算子,它把左運算元與右運算元和分配結果左運算元

c /= a 相當於 c = c / a

%=模量和賦值運算子,它需要使用兩個運算元的模量和分配結果左運算元

c %= a 相當於 c = c % a

<<=

左移位並賦值運算子

c <<= 2 相同於 c = c << 2

>>=

向右移位並賦值運算子

c >>= 2 相同於 c = c >> 2

&=按位與賦值運算子

c &= 2 相同於 c = c & 2

^=按位異或並賦值運算子

c ^= 2 相同於 c = c ^ 2

|=按位或並賦值運算子

c |= 2 相同於 c = c | 2

有些運算子擁有較高的優先順序,二元運算子的運算方向均是從左至右。下表列出了所有運算子以及它們的優先順序,由上至下代表優先順序由高到低:

優先順序運算子

7~ ! ++ --

6* / % << >> & &^

5+ - ^

4== != < <= >= >

3<-2&&

1||當然,你可以通過使用括號來臨時提公升某個表示式的整體運算優先順序。

Golang位運算子

位運算子是對資料轉換為二進位制後某個位上的數進行的運算,各個語言中都有位運算子,golang也不例外,由於位運算子的執行效率比較高,在實際開發過程中也都有使用,golang的位運算子相較於c c 貌似 少了 一種操作,這裡的少了並不是真正的少了,而是非這個操作不再使用單獨的位運算子。golang的位...

golang之運算子

1 賦值運算子 1 5 5種 2 算術運算子 5 2種 乘 除 餘 加 減 自增 自減,算術的二元操作中必須是相同的型別。1 取模運算子的符號和被取模數的符號總是一致的,因此 5 3和 5 3結果都是 2。2 除法運算子 的行為則依賴於運算元是否為全為整數,比如5.0 4.0的結果是1.25,但是5...

Java基礎語法(三) 運算子

1 四則運算加法 減法 乘法 取整 取餘 class demo1 2 自增 自減 後 後 後加加 後減減 先賦值,再運算 class demo1 3 自增 自減 前 前 前加加 前減減 先運算,再賦值 class demo1 注意 當後加加 後減減 和其他 在同一行的時候,先使用加加 減減 之前的值...