背景: 因編程的基礎差,因此最近開始鞏固學習C#基礎,後期把自己學習的東西,總結相應文章中,有不足處請大家多多指教。 1. 簡介 運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號。C# 有豐富的內置運算符,分類如下: 算術運算符 關係運算符 邏輯運算符 複合賦值運算符 位運算符 其他運算符 本文 ...
背景:
因編程的基礎差,因此最近開始鞏固學習C#基礎,後期把自己學習的東西,總結相應文章中,有不足處請大家多多指教。
1. 簡介
運算符是一種告訴編譯器執行特定的數學或邏輯操作的符號。C# 有豐富的內置運算符,分類如下:
- 算術運算符
- 關係運算符
- 邏輯運算符
- 複合賦值運算符
- 位運算符
- 其他運算符
本文章將逐一講解算術運算符、關係運算符、邏輯運算符、複合賦值運算符。
2. 演算法運算符
算術預算符又分為一元運算符和二元運算符。
- 一元:++、--、+、-
- 二元:*、/、%、+、-
對於向加加或者減減這樣只需要一個操作數就能完成的運算,稱為一元運算符。
+ 、-、 *、 /、 %、對於這些需要兩個或以上才能完成運算操作符,稱為二元運算符。
運算符 |
描述 |
+ |
加運算符 |
- |
減運算符 |
++ |
增量運算符 |
-- |
減量運算符 |
* |
乘法運算符 |
/ |
除法運算符 |
% |
餘數運算符 |
優先順序
一元的運算符的優先順序要高於二元的運算符。
如果在一個表達式當中,既有一元運算符,又有二元運算符,我們要先計算一元運算符。
實例
1. 加加
int number = 10; number++; ++number;//number=number+1; Console.WriteLine(number); Console.ReadKey();
2. 減減
int number = 10; number--; --number; Console.WriteLine(number); Console.ReadKey();
3.練習題
int a = 5; int b = a++ + ++a * 2 + --a + a++; // 5+7*2+6+6 7 Console.WriteLine(a); Console.WriteLine(b); Console.ReadKey()
//最後輸出結果a=7,b=31
總結:++:分為前++和後++,不管是前++還是後++,最終結果都是給這個變數加—;
區別:表達式當中,如果是前++,則是給自身加一,然後帶著加一後的值參與運算。
--:同上
3. 關係運算符
關係運算符是用來描述兩個事物之間的關係,由關係運算符連接的表達式稱之為關係表示式。
運算符 |
描述 |
== |
相等 |
!= |
不等於 |
> |
大於 |
< |
小於 |
>= |
大於等於 |
<= |
小於等於 |
bool類型
關係運算符用bool類型表示;
在C#中我們用bool類型描述對或者錯,bool類型的值只有兩個 ,true、false
實例
// 大象的重量(1500)>老鼠的重量(1) //關係表達式的結果是bool類型 // bool b = 1500 > 1; // bool b = 3 > 1000; // bool b = 39 < 18; bool b = 20 == 20; Console.WriteLine(b); Console.ReadKey(); //兔子的壽命(3)>烏龜的壽命(1000) //39<18 //我的年齡(20)==你的年齡(20)
4. 邏輯運算符
又邏輯運算符連接的表達式叫做邏輯表達式,邏輯運算符兩邊的一般都是關係表達式或者bool類型的值。
運算符 |
描述 |
&& |
邏輯與運算符 |
|| |
邏輯或運算符 |
! |
邏輯非運算符 |
實例
//讓用戶輸入老蘇的語文和數學成績,輸出以下判斷是否正確,正確輸出True,錯誤輸出False //1)老蘇的語文和數學成績都大於90分 Console.WriteLine("小蘇,輸入你的語文成績"); //string strChinese = Console.ReadLine(); int chinese = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("小蘇,請輸入你的數學成績"); int math = Convert.ToInt32(Console.ReadLine()); //2)語文和數學有一門是大於90分的 bool b = chinese > 90 || math > 90; Console.WriteLine(b); Console.ReadKey()
用法解釋
邏輯運算符兩邊放的一般都是關係表達式或者bool類型的值。
5>3 &&true
3>5||false
!表達式
邏輯表達式的結果同樣也是bool類型
邏輯與 &&
表達式1&&表達式2
表達式1 |
表達式2 |
表達式1&&表達式2 |
True |
True |
True |
False |
True |
False |
True |
False |
False |
False |
False |
false |
邏輯或 ||
表達式1||表達式2
表達式1 |
表達式2 |
表達式1||表達式2 |
True |
True |
True |
True |
False |
True |
False |
True |
True |
False |
False |
false |
邏輯非 !
!表達式
表達式 |
!表達式 |
True |
False |
False |
true |
5. 複合賦值運算符
下表列出了 C# 支持的賦值運算符:
運算符 |
描述 |
實例 |
= |
簡單的賦值運算符,把右邊操作數的值賦給左邊操作數 |
C = A + B 將把 A + B 的值賦給 C |
+= |
加且賦值運算符,把右邊操作數加上左邊操作數的結果賦值給左邊操作數 |
C += A 相當於 C = C + A |
-= |
除且賦值運算符,把左邊操作數除以右邊操作數的結果賦值給左邊操作數 |
C -= A 相當於 C = C - A |
*= |
乘且賦值運算符,把右邊操作數乘以左邊操作數的結果賦值給左邊操作 |
C *= A 相當於 C = C * A |
/= |
除且賦值運算符,把左邊操作數除以右邊操作數的結果賦值給左邊操作數 |
C /= A 相當於 C = C / A |
%= |
求模且賦值運算符,求兩個操作數的模賦值給左邊操作數 |
C %= A 相當於 C = C % A |
<<= |
左移且賦值運算符 |
C <<= 2 等同於 C = C << 2 |
>>= |
右移且賦值運算符 |
C >>= 2 等同於 C = C >> 2 |
&= |
按位與且賦值運算符 |
C &= 2 等同於 C = C & 2 |
^= |
按位異或且賦值運算符 |
C ^= 2 等同於 C = C ^ 2 |
|= |
按位或且賦值運算符 |
C |= 2 等同於 C = C | 2 |
實例:
int number=10; //1.+= : number+=20; number=number+20;
//2. -=: number-=5; number=number-5;
//3. *=: number*=5; number=number*5;
//4. /=: number/=5; //5. %=:
number%=5;
轉載請註明出處,商用請徵得作者本人同意,謝謝!!!