C#基礎——表示式,運算子
阿新 • • 發佈:2018-12-20
1. 什麼是表示式
表示式是由運算子和運算元組組成的。運算子設定對運算元進行什麼樣的運算。
在C#中,如果表示式最終的計算結果為所需的型別值,表示式就可以出現在需要自或物件的任意位置。
string name = "張三";
int age = 18;
//前面是字串 後面的是整數 用+代表的是拼接 那麼這個時候資料型別就是字串
Console.WriteLine("我叫"+name+",年齡是"+age);
//{0}是佔位符 不代表任何具體的意思
Console.WriteLine("我叫{0},年齡是{1}" ,name,age);
Console.ReadKey()
2. 什麼是算術運算子
取模:
//1234轉換為4321
int i = 1234;
Console.WriteLine(i % 10+""+ i / 10 % 10+""+ i / 100 % 10+""+ i / 1000);
Console.ReadKey();
3. 什麼是賦值運算子
賦值運算子為變數,屬性,事件等元素賦新值。賦值運算子的左運算元必須為變數,屬性訪問,索引器訪問或事件訪問型別的表示式,如果賦值運算子兩邊的運算元的型別不一致,就需要首先進行型別的轉換。然後再賦值。
在使用賦值運算子時,右操作表達數所屬的型別必須可隱式轉換為左運算元所屬的型別,運算將右運算元的值賦值給左運算元指定的變數,屬性或索引器元素。
+=: int i=0; i=i+1; 簡寫為 i+=1;
++: 在Java中++在前先+後用,++在後先用後+;但在C#沒有這概念;
4. 如何使用關係運算符
關係運算符可以實現兩個值得比較運算,關係運算符在完成兩個運算元的比較運算之後會返回一個代表運算結果的bool值。
關係運算符返回的資料型別,只會是bool型別
string i = "1";
string j = "1";
//比較記憶體的地址 棧上面
Console.WriteLine(i==j);
//Equals 比較的是值 相等於 整數型別的==比較
Console.WriteLine(i.Equals(j));
Console.ReadKey();
5. 如何使用邏輯運算子
邏輯運算子對兩個表示式執行bool運算。
常用的 || && !
//&& 並且 1==2 條件成不成立 並且 2==1 條件成不成立
//兩個條件成立,那麼就證明邏輯成立,如果一個條件成立,那麼邏輯不成立
Console.WriteLine(1 == 2 && 2 == 1);
Console.ReadKey();
//|| 或者 1 > 2 或者 2 > 1 中間只要有一個條件成立,則邏輯成立
Console.WriteLine(1 > 2 || 2 > 1);
Console.ReadKey();
//! 取反 只能針對比較運算子,關係運算符的結果,進行取反,只針對bool型別的資料
Console.WriteLine(!true);
Console.ReadKey();
6. 其他運算子
6.1 is運算子
is運算子用於檢測變數是否為指定的型別,如果是,返回真。否則返回假。
int i = 10; //宣告整形變數i
bool flag = i is int; //判斷變數i的型別是不是整形
Console.WriteLine(i is int);//輸出結果
6.2 new運算子
new運算子用於建立一個新的型別例項,它有以下三種形式。
一.物件建立表示式,用於建立一個類型別或值型別的例項。
二.陣列建立表示式,用於建立一個數組型別例項。
三.代表建立表示式,用於建立一個新的代表型別例項。
6.3 typeof運算子
typeof運算子用於獲取系統原型物件的型別,也就是Type物件。Type類包含關於值型別和引用型別的資訊。typeof運算子可以在C#語言中各種位置使用,以找出關於引用型別和值型別的資訊。
Type i = typeof(int);//獲取引用型別資訊(必須是具體的類名、型別名稱等,不可是變數名稱),如果變數名想獲取具體的類資訊,可以使用(變數名.GetType()方法來獲取類)
Console.WriteLine(i);//輸出結果
7. 運算子優先順序