說起c#運算子和表示式,小夥伴們肯定以為很簡單,其實要用好表示式,不是一件容易的事。乙個好的表示式可以讓你做事半功倍的效果,比如三元表示式,可以讓你少寫n多個if和case語句。
表示式 由 運算元(operand) 和 運算子(operator) 構成
1.運算子分類和優先順序
2.運算子按運算元目分類
一元運算子
-x x++ x--
二元運算子
x+y x+1
三元運算子
c ? x : y
3.表示式分類
按運算子數目可分為:一元表示式,二元表示式,三元表示式
按用途分類:正規表示式、lambda表示式等等。
要點:
1. /除法運算子5/2=2 (並非四捨五入,而是捨去小數)
2. %取模運算子5%2=1 5.0%2.2=0.6 (第2數整除第1數的餘數)
3. ++遞增運算子-- 遞減運算子
以上兩個運算子 ,可以在前也可以在後, 但是在前和在後,其執行順序不同例如:
int a=1; int b=a++;
運算子在後,則程式先把a的值賦給b,再對a執行+1;
其執行結果為: a=2 b=1
如果寫成下面的例子:
int m=1;int n=++m;
則執行完以後結果為: m=2 n=2;
實際上相當於 int m=1; m=m+1; int n=m;
4.位移運算子<>(右移)
這兩個運算子比較不常用,按官方的理解稍有點複雜
可以這樣理解:其實就是資料轉換成二進位制的左右移動;
右移左補0,左移右補0,後面多出來的部分去掉。
如:把89右位移一位,可以這樣計算:
string flag = convert.tostring(89, 2); //這是把你的89轉為2進製數。。
//flag結果:1011001
//你要右位移,左邊補個0,後面多出來一位去掉
int j = convert.toint32("0101100", 2); //再把2進製轉化了10進製數。。
//結果:44
//位移就是這麼簡單
5.邏輯異或運算子 ^
對於簡單邏輯運算子 & || 我們比較熟悉了,但對於異或好多人就 不了解,甚至很少用到
理解這個運算子,首先它雖然是邏輯運算子,但也是可以運算整數的
先說布林運算,簡單說,就是兩個運算元不同,則為真;相同時為假
如:true ^ true=false; false^false=false; true ^false=true; false ^true=true;
操作整數時,則進行位運算,如:
100^45=73
數值運算舉例
按位異或的3個特點:
(1) 0^0=0,0^1=1 0異或任何數=任何數
(2) 1^0=1,1^1=0 1異或任何數-任何數取反
(3) 1^1=0,0^0=0 任何數異或自己=把自己置0
例如:10100001^00010001=10110000
按位異或的幾個常見用途:
(1) 使某些特定的位翻轉
例如對數10100001的第2位和第3位翻轉,則可以將該數與00000110進行按位異或運算。
0100001^00000110 = 10100111
(2) 實現兩個值的交換,而不必使用臨時變數。
例如交換兩個整數a=10100001,b=00000110的值,可通過下列語句實現:
a = a^b; //a=10100111
b = b^a; //b=10100001
a = a^b; //a=00000110
(3) 在組合語言中經常用於將變數置零:
xor a,a
(4) 快速判斷兩個值是否相等
舉例1: 判斷兩個整數a,b是否相等,則可通過下列語句實現:
return ((a ^ b) == 0)
字元和字串運算
由於字元可以隱式轉為整型,如 『a』+6=103 a被轉為unicode 97
『a』*』b』=9506 相當於 97*98
『a』>』b』結果為false 相當於97>98 返回false
『a』 +」早上好」 返回 「a早上好」
由此可見。不同型別運算在c#中會先執行一次隱式轉換
C 運算子和表示式
歡迎購買我的專欄 1.高階c 學習 2.網路 c 提供了許多運算子。其中許多都受到內建型別的支援,可用於對這些型別的值執行基本操作。c 中有算術運算子 比較運算子 布林邏輯運算子 位運算子和移位運算子 相等運算子 在下面的 中,表示式的示例位於賦值的右側 int a,b,c a 7 b a c b ...
C 運算子表示式
1 表示式概念 2 數 算符 3 運算子結果型別判定 4 賦值運算子 5 運算子優先順序 括號 乘除餘模 加減 6 布林運算子 7 運算子練習 using system namespace 運算子表示式 減 乘 除 餘 plus,less,multiply,except,remain int型別和d...
運算子和表示式
運算子 1.算術運算子 定義 int i 2 1 i i 是在 使用完畢之後 2 i i 是在 之後使用 3 i i 是 3 3 是形成運算子的 4 函式是從右邊開始傳參,其中,為結束標誌 例子1 func i i i i,i 6,5,4,i,2 i最後是 7 6 5 4 7 2 例子2 i i i...