C#初入之運算符

在這裏插入圖片描述


運算符

運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號。C#有豐富的內置運算符

數學運算符

主要進行數據運算

分類

運算符描述實例,假設A的變量爲10,B的變量爲20.

在這裏插入圖片描述



當然還會遇到一些特殊情況,例如:
1."+"運算符的作用
符號兩邊的數據類型都是數字類型數據則起到數學相加作用

int a=10;
int b=20;
textBox1.text=(a+b).Tostring();

符號兩邊數據其中一個是字符串類型則起到字符串連接作用

string str="您好";
bool b=flase;
textBox2.text=str+b;

在這裏插入圖片描述



2."/"運算符的作用
如果符號兩邊的數據類型都是整數類型,則這個符號是取整符號

int a=3;
int b=2;
textBox1.text=(a/b).Tostring();

如果符號兩邊的數據類型至少有一個是浮點型,則這個符號是取餘符號

int c=3;
double d=2;
textBox2.text=(c/d).Tostring();

在這裏插入圖片描述



3.自加自減
假設A的值爲10;
在這裏插入圖片描述

 int A = 10;
 int B;
 B = A++;
 textBox1.Text = "B=" + B + ";A=" + A;
 B = ++A;
 textBox2.Text = "B=" + B + ";A=" + A;

在這裏插入圖片描述


位運算符

位運算符作用於位,並逐位執行操作。&、 | 和 ^ 的真值表如下所示:

在這裏插入圖片描述
下表列出了C#支持的位運算符。假設變量A的值爲60,變量B的值爲13,則
在這裏插入圖片描述


邏輯運算符

下表顯示了C#支持的所有邏輯運算符。假設變量A爲布爾值true,變量B爲布爾值false,則:

在這裏插入圖片描述

label1.Text = ((textBox1.Text == "A") && (textBox2.Text == "A")).ToString();
label2.Text = ((textBox1.Text == "A") || (textBox2.Text == "A")).ToString();
label3.Text = (!((textBox1.Text == "A") && (textBox2.Text == "A"))).ToString();

在這裏插入圖片描述


但是也要注意以下問題

&與&&

1.&和&&都表示邏輯與(and)的運算符,只有當運算符兩邊的結果都是true整個運算才爲true 2.&&具有短路功能,如果左邊表達式結果爲false則右邊表達式不再進行運算判斷。而&則不然,不論左邊表達式結果是true還是false,右邊表達式仍然會進行運算判斷
例如:
int a = 60; 
int b = 13;
label1.Text ="&"+ ((a++>70) & (b++<20)).ToString()+"【a="+a +"】【b="+b +"】";
a = 60;
b = 13;
label2.Text = "&&"+((a++>70) && (b++<20)).ToString()+"【a="+a+"】【b="+b +"】";

|與||

1. | 和 || 都表示邏輯或(or)的運算符,運算符兩邊的表達式只要有一個是true整個表達式都是true
2. || 具有短路功能,如果左邊的表達式結果爲true則右邊表達式不再進行運算判斷。而 | 則不然,不論左邊表達式結果是true還是false,右邊表達式都會進行運算判斷
a = 60;
b = 13;
label3.Text="|"+((a++>70)|(b++<20)).ToString()+ "【a="+a+"】【b="+b+"】"; 
a = 60;
b = 13;
label4.Text="||"+((b++<20)||(a++>70)).ToString()+"【a="+a+"】【b="+b+"】";

在這裏插入圖片描述


關係運算符

兩個數據之間的關係運算,假設變量 A 的值爲10,變量 B 的值爲20,則:

在這裏插入圖片描述


注意:
1.和屬性賦值一樣,需要處理關係的這兩個數據之間必須保持類型最終一致
2關係運算符運算的最終結果值只有兩個:true、false


賦值運算符

賦值運算符:等號左邊進行數據賦值時,等號右邊考慮是否進行賦值運算

常見的賦值運算符

在這裏插入圖片描述
在這裏插入圖片描述

int a = 10, 
b = 12, c;
label1.Text = "c=a+b:c=" + (a + b);
label2.Text = "b+=a:b=" + (b += a);

在這裏插入圖片描述


雜項運算符

1. sizeof()返回數據類型(值類型)的大小。sizeof(int),將返回4
2. typeof()返回class的類型。typeof(StreamReader);
3. &返回變量的地址。&a;將得到變量的實際地址。
4. “※”變量的指針。*a;將指向一個變量。
5. ?x:y-條件表達式,如果條件爲真?則爲x:否則爲y
6. is判斷對象是否爲某一類型。
7. as-if(ford is car);// 檢查Ford是否是Car類的一個對象。as強制轉換,即使轉換失敗也不會拋出異常
string str = "";
label1.Text ="bool類型的大小是:"+ sizeof(bool).ToString();
label2.Text="string類型屬於"+typeof(Form)+"類";
label3.Text = "三元表達式進行對a賦值(10,8)比較大的數:a=" + (10 > 8 ? 10 : 8);

在這裏插入圖片描述


三元運算符

三元運算符的格式爲:Exp1 ? Exp2 : Exp3;
條件運算符 ? :.可以用來替代 if...else語句.它的一般形式如下:
其中,Exp1、Exp2 和 Exp3 是表達式。請注意,冒號的使用和位置。? 表達式的值是由 Exp1 決定的。如果 Exp1 爲真,則計算 Exp2 的值,結果即爲整個 ? 表達式的值。如果 Exp1 爲假,則計算 Exp3 的值,結果即爲整個 ? 表達式的值
int a = 10;
int b = 15;
(a > b ? a < b : a == b).ToString();
listBox1.Items.Add((a > b ? a < b : a == b).ToString());

在這裏插入圖片描述


當然運算符也區分優先級

在這裏插入圖片描述


運算符應用還是很廣的我們應該多加練習,才能牢牢銘記!!!

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章