在C#中,提供了數學及邏輯演算,在本篇將大致認識C#的各式運算子
指定運算子
在C#中," = "的意思和數學上的等於是不同,在這裡是表示指定的意思,就是將右邊的值指定給左邊的變數
{
// 將100指定給變數num
int num = 100;
// 將num + 1000後,指定給左邊的變數total
int total = num + 1000;
}
一元運算子
就是一個運算元就能運算的運算子
運算子 " + ",正數
ex. +50
運算子 " - ",負數
ex. -num
運算子 " ! ",否定
ex. !temp (表示temp為false)
算術運算式
在運算上會和數學邏輯一樣的順序
運算優先順序 :
括號內 => 乘 / 除 / 取餘數 => 加 / 減
乘 ( 運算子符號 : * )
{
int a = 10;
int b = 20;
int c = a * b;
double num = 10.56;
double total = num * 10.33;
Console.WriteLine(c); // 輸出c為200
Console.WriteLine(total); // 輸出total為109.0848
}
除 ( 運算子符號 : / )
{
double num = 10;
double total = num / 1000;
int a = 15;
int b = 8;
int number = a / b;
Console.WriteLine(total); // 輸出total為0.01
Console.WriteLine(number); // 如果是int型別,則輸出時會取整數,捨去小數點後數值,number為1
}
取餘數 ( 運算子符號 : % )
{
int a = 15;
int b = 8;
int c = a % b;
Console.WriteLine(c); // 輸出c值為7
}
加 ( 運算子符號 : + )
{
int a = 20;
int b = 8;
int c = a + b;
string temp = "hello";
string mystring = "world";
Console.WriteLine(c); // 輸出c為28
Console.WriteLine(temp + mystring); // 如果是字串,則輸出為 helloworld
}
減 ( 運算子符號 : - )
{
int a = 10;
int b = 8;
int c = a - b;
int x = 20;
int y = 60;
int z = x - y;
Console.WriteLine(c); // 輸出c為2
Console.WriteLine(z); // 輸出z為-40
}
關係運算子
主要是用於比較數值、字串,等資料大小的關係,並得到結果true或false,通常會搭配 if 進行程式執行的流程
相等 ( 運算子符號 : == )
大於 ( 運算子符號 : > )
小於 ( 運算子符號 : < )
大於等於 ( 運算子符號 : >= )
小於等於 ( 運算子符號 : <= )
不等於 ( 運算子符號 : != )
邏輯運算子
且 ( 運算子符號 : && )
A && B => 兩邊條件都必須為true,即兩邊條件都必須符合時,才成立
或 ( 運算子符號 : || )
A || B => 只要A或B其中一個為true,則成立
否 ( 運算子符號 : ! )
A => 表示A為true
! A => 加上!,表示A為false
複合指定運算子
相加後指定 ( 運算子符號 : += )
相減後指定 ( 運算子符號 : -= )
相乘後指定 ( 運算子符號 : *= )
相除後指定 ( 運算子符號 : /= )
取餘數後指定
遞增、遞減運算子
後遞增
x = y++ => 先執行x = y,再執行y = y + 1
前遞增
x = ++y => 先執行y = y + 1,再執行x = y
z = ++x*2 => 先執行 x + 1,再將 x * 2,再指定給 z
後遞減
x = y-- => 先執行x = y,再執行y = y - 1
z = y--/5 => 先執行 y / 5,再指定給 z,再執行 y - 1
前遞減
x = --y => 先執行y = y - 1,再執行x = y
新人發文,文章敘述如有錯誤及觀念不正確,請不吝嗇指教,感謝~
參考文件 https://docs.microsoft.com/zh-tw/dotnet/csharp/language-reference/operators/