C# 運算子
運算子
- 指定資料運算方法的指令,可分為指定、複合指定、算術、關係、邏輯、字串、位元等
- 指定運算子,就是等於(=),用來把資料指給變數
- 字串運算子,就是加號(+),用來連接字串
複合指定運算子
運算子符號 | 功能 | 範例 | 結果 |
---|---|---|---|
+= | 相加後指定 | int a=1;a+=2; | 3 |
-= | 相減後指定 | int a=1;a-=2; | -1 |
*= | 相乘後指定 | int a=5;a*=2 | 10 |
/= | 相除後指定 | int a=5;a/=2; | 2 |
%= | 取餘數後指定 | int a=5;a%=2 | 1 |
&= | AND運算後指定 | int a=3;a&=5; | 1 |
|= | OR運算後指定 | int a=3;a|=5; | 7 |
算術運算子
運算子符號 | 功能 | 範例 | 結果 |
---|---|---|---|
+ | 加法 | 1 + 2 | 3 |
- | 一元運算子為取負數 二元運算子為減法 |
-1 1-2 |
-1 -1 |
* | 乘法 | 1 * 2 | 2 |
/ | 除法 | 5 / 2 | 2 |
% | 取餘數 | 5 % 2 | 1 |
++ | 前置為先運算後再遞增 後置為先遞增後再運算 |
int x = 1; int y = x++ +1 int x = 1; int y = ++x +1 |
x = 2, y = 2 x = 2, y = 3 |
-- | 前置為先運算後再遞減 後置為先遞後減再運算 |
int x = 1; int y = x-- + 1 int x = 1; int y = --x + 1 |
x = 0, y = 2 x = 0, y = 1 |
關係運算子
運算子符號 | 功能 | 範例 | 結果 |
---|---|---|---|
== | 等於 | 1 == 2 | false |
!= | 不等於 | 1 != 2 | true |
< | 小於 | 1 < 2 | true |
> | 大於 | 1 > 2 | false |
<= | 小於等於 | 1 <= 2 | true |
>= | 大於等於 | 1 >= 2 | false |
邏輯運算子
運算子符號 | 功能 | 範例 | 結果 |
---|---|---|---|
& | AND | false & true | false |
&& | 條件式AND 前面false就不運算後面 |
false && true | true |
| | OR | true | false | true |
|| | 條件式OR 前面true就不運算後面 |
true || false | true |
! | NOT | !true | false |
^ | XOR | true ^ false | true |
位元運算子
運算子符號 | 功能 | 範例 | 結果 |
---|---|---|---|
& | AND運算 | int x = 3 & 5 | 1 |
| | OR運算 | int x = 3 | 5 | 7 |
^ | XOR運算 | int x = 3 ^ 5 | 6 |
~ | 補數運算 | int x = ~1 | -2 |
>> | 右移, 就是除以2取商 | int x = 31 >> 3 | 3 |
<< | 左移, 就是乘以2 | int x = 31 << 3 | 248 |
運算子優先順序
由上到下,不確定的話用小括號就對了
區塊 | 用小括號包起來的先運算 | ||
---|---|---|---|
一元運算子 | 取負數、++、-- | ||
乘除 | *、/ | ||
加減 | +、- | ||
位移 | <<、>> | ||
關系 | <、>、<=、>= | ||
關系 | ==、!= | ||
AND | & | ||
XOR | ^ | ||
OR | |||
條件式AND | && | ||
條件式OR | |||
指定和複合指定 | =、+=、-=、*=、/=、<<=、>>= |