標籤:.net開發 c#程式設計語言
運算子
運算子可分為一元運算子、二元運算子和三元運算子。
1、數學運算子
運算子
|
類別 |
樣本運算式
|
結果
|
| + |
二元運算子 |
var1 = var2 + var3
|
var1的值是var2與var3的和
|
| - |
二元運算子 |
var1 = var2 - var3
|
var1的值是var2減去var3所得值 |
| * |
二元運算子
|
var1 = var2 * var3
|
var1的值是var2與var3的乘積
|
| / |
二元運算子
|
var1 = var2 / var3
|
var1的值是var2除以var3所得商
|
| % |
二元運算子
|
var1 = var2 % var3
|
var1的值是var2除以var3所得餘數
|
| + |
一元運算子
|
var1 = +var2
|
var1的值等於var2的值 |
| - |
一元運算子
|
var1 = -var2 |
var1的值是var2與-1的乘積 |
| ++ |
一元運算子 |
var1 = ++var2
|
var2先遞增1,然後賦值給var1(即var2+1) |
| -- |
一元運算子
|
var1 = --var2 |
var2先遞減1,然後賦值給var1(即var2-1)
|
| ++ |
一元運算子
|
var1 = var2++ |
先把var2賦值給var1,然後var2遞增1 |
| -- |
一元運算子
|
var1 = var2-- |
先把var2賦值給var1,然後var2遞減1 |
註:1) bool類型不能進行數學運算;
2) char類型儲存也是數字可以進行數學運算,如果把兩個char類型變數相加將得到int類型。
3) string類型變數可以進行加法運算,表示兩個string變數進行串連。例如
string a = "hello ";
string b = "world";
string c = a + b; // c = "hello world"
其他數學運算子不能應用於string類型變數。
4) ++和--為遞增或遞減運算子,把運算子放在操作前面,則運算元在進行任何其他運算前受 到運算子的影響,而把運算子放在運算元後面,則運算元在完成運算式後受到運算子的影響。
例如: int var1, var2 = 5, var3 = 6;
var1 = var2++ * --var3; // var1 = 5 * 5 ==> 25
2、賦值運算子
運算子
|
類別 |
樣本運算式 |
結果 |
| = |
二元運算子 |
var1 = var2 |
var1被賦值為var2 |
| += |
二元運算子 |
var1 += var2 |
var1被賦值為var1與var2的和 |
| -= |
二元運算子 |
var1 -= var2 |
var1被賦值為var1與var2的差 |
| *= |
二元運算子 |
var1 *= var2 |
var1被賦值為var1與var2的乘積 |
| /= |
二元運算子 |
var1 /= var2 |
var1被賦值為var1與var2相除的商 |
| %= |
二元運算子 |
var1 %= var2 |
var1被賦值為var1與var2相除的餘數 |
註:1) +=賦值運算子同樣適用於string類型變數。
2) 當運算元var2運算式很長時,上述運算子使用起來很方便,代碼更容易閱讀。
例如: var1 *= var2 + var3 ==> var1 = var1 * (var2 + var3)
3、運算子優先順序
在計算運算式時,會按順序處理每個運算子。
| 優先順序 |
優先順序 |
優 先 級 由 高 到 低 |
++、--(首碼),+、-(一元)
|
| *、/、% |
| +、-(二元) |
=、*=、/=、%=、+=、-=
|
| ++、--(尾碼) |
註:1) 括弧可以重寫運算子優先順序。
例如:(var1 + var2) * var3 ==> 先計算var1+var2運算式,然後再與var3進行乘積
2) ++和--用作尾碼運算時,它們不對錶達式的結果產生影響。可認為它們比所有運算子優先 級都高。
本文出自 “行動勝於言語” 部落格,請務必保留此出處http://vikxiao.blog.51cto.com/9189404/1551067
一步一步學習C#語言【運算式及運算子】