您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“C#運算符如何使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“C#運算符如何使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
變量,是一個在程序執行期間,它的值是可以改變的。與之相反的,在程序運行期間,不能改變值的,那就是常量。
常量是通過 const 關鍵字來定義的,定義一個常量的語法如下:
const <datatype> <constantname>;
// 例如
const int num;
const char word;
num = 233;
word = 'c';
const string str = "hahahaha!";
const float f = 3.22f
常量和變量相似的是,一樣都可以先定義常量(變量)的數據類型,然后再給他賦值。也可以在定義數據類型的時候,直接賦值。
不同的是,變量在第一次賦值后,在后面如果想要改變變量值,可以通過 = 賦值運算符,直接賦予想要的值。然而常量不行,在第一次賦值后,就不能反復賦值。
C# 中有許多豐富的內置運算符,例如:
(1)算術運算符
(2)關系運算符
(3)邏輯運算符
(4)位運算符
(5)賦值運算符
(6)其他運算符
算術運算符,顧名思義,就是用來進行算術計算的運算符。
int a = 123;
int b = 26;
int c;
// 加法
c = a + b; // 149
// 減法
c = a - b; // 97
// 乘法
c = a * b; // 3198
// 除法
c = a / b; // 4
// 取余
c = a % b; // 19
// 自增
c = ++a; // c=124;a=124
// 自減
c = a--; // c=123;a=122
(1)如果是兩種不同數據類型進行計算,那么就需要考慮到數據類型之間的是屬于顯式轉換還是隱式轉換。
(2)如上面的程序,兩個整型的值(a和b)相除,那么 c 無論是整型類型的或者浮點類型的,結果都只會是一個整數。這一點可以想象為是兩數相除取整數。
(3)自增自減分別各有兩種表示方法
c=a++/c=a–或者c=++a/c=–a
這兩種表示方法表示意思也不一樣。前者是先將 a 的值賦予 c,然后在對 a 進行加減運算;后者則是先對 a 進行加減運算,運算結束后的 a 的值在賦予變量 c。
將兩個值或者兩個運算式進行關系比較的運算符。經常是被使用在條件判斷語句里面。進行比較之后獲得的值一定是布爾值類型,要么為True,要么為False。
int a = 31;
int b = 13;
bool c;
// 相等 ==
c = a==b; // false
// 不等 !=
c = a!=b; // true
// 大于 > && 大等于 >=
c = a>b; // true
c = a>=b; // true
// 小于 < && 小等于 <=
c = a<b; // false
c = a<=b; // false
邏輯運算符就是將兩個或者多個的關系式關聯在一起,判斷最終為 true 或者 false。邏輯運算符一般是和關系運算符一起使用,經常被用在條件判斷語句中。
(1)&& - 邏輯與運算符,只有所有關系式的值都是 true,返回的結果才會是 true;只要有一個是 false,那么這個式子就是 false。
(2)|| - 邏輯或運算符,只要所有關系式中有一個是 true,返回的結果為 true;只有全部為 false, 整個式子才會是 false。
(3)! - 邏輯非運算符,關系式為 true,結果就為 false;反之,關系式為 false,結果就為 true。
bool a = true;
bool b = false;
bool c;
c = a && b; // false
c = a || b; // true
c = !a; // false
c = !b; // true
位運算符作用于位,并逐位執行操作。
那什么是位?
計算機中的計量單位,有KB、MB、GB等等,而最基本的計量單位則是字節(Byte),一個字節又是由 8 個比特(bit)組成的。而這個比特就是位,位的值只有 0 或 1。所以,位(bit)是計算機中最小的數據單位。
位運算符
int a = 60; // 0011 1100
int b = 13; // 0000 1101
(1)&
將 A 和 B 的二進制值一位一位的比較,如果該位同為 1,結果 C 中的對應位置就為 1;否則就為 0.
int c = a&b; // 12 0000 1100
(2)|
也是將 A 和 B的二進制進行逐位比較,如果該位同為 0,結果 C 中的對應位置就為0;否則為 1.
int c = a|b; // 61 0011 1101
(3)^
比較兩位數的二進制,如果該位一邊是 1,另一邊是0,則返回結果 C 的對應位置為1;其他都為 0.
int c = a^b; // 49 0011 0001
(4)~
取反符號,即對 A 的二進制進行翻轉,為 0 的位為 1;為 1 的位為0.
int c = ~a; // -61 1100 0011
(5)<<
表示向左移動右操作數指定的位數。
int c = a << 2; // 240 1111 0000
(6)>>
表示向右移動右操作數指定的位數。
int c = a << 2; // 15 0000 1111
將右邊的操作數賦給左邊的操作數,可以和算術運算符或者位運算符進行關聯使用。
int a = 30;
int b = 21;
(1)=
這是最常見,也是最常用的,最簡單的賦值運算符。將右邊的值賦給左邊。
b = a; // b = 30;
(2)+=、-=、*=、/=、%=
將算術運算符和賦值運算符進行關聯使用。
a += b; // a = a + b = 51;
a -= b; // a = a - b = 9;
a *= b; // a = a * b = 630;
a /= b; // a = a / b = 1;
a %= b; // a = a % b = 9;
(3)&=、|=、<<=、>>=、^=
a &= b; // a = a & b = 20
a |= b; // a = a | b = 31
a <<= b; // a = a << b = 62914560
a >>= b; // a = a >> b = 0
a ^= b; // a = a ^ b = 11
(1)sizeof(datatype) 用來返回數據類型所占字節(byte)的大小。
sizeof(int); // 4
sizeof(short); // 2
sizeof(byte); // 1
(2)typeof(class) 用來返回 class 的類型。
Type t = typeof(C1); // S01.C1 --> namespaceName.className
(3)& 返回變量的地址,&a.
(4)* 變量的指針,*a.
(5)條件判斷 ? X : Y 條件表達式,如果條件判斷為 true,輸出X;為 false,輸出 Y。
int c = 32 >= 12 ? 1 : 0;
(6)is 判斷對象是否為某一類型。
(7)as 強制轉換,即便轉換失敗,也不會拋出異常。
讀到這里,這篇“C#運算符如何使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。