iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 18
0
自我挑戰組

我要努力成為軟體後端工程師!系列 第 18

Day 18-C#運算式與運算子之數學運算編碼介紹

  • 分享至 

  • xImage
  •  

-前集提要-

C#是一個強型別語言,在建立C#變數或常數時,要同時宣告它的類別型別(type)
也就是說,必需告知建立的變數是要用來儲存數字、文字或其他,不然C#會不知道開發者要叫它做什麼事啊~
變數,顧名思義就是指程式在執行的過程中,可以改變其值。而常數則一直保持不變

接著要來講C#的運算式、運算子的編碼系列。


先用張圖來解釋什麼是運算式、運算子
運算

  1. 運算式是由運算元運算子建構而成。運算式的運算子會指出要將哪些運算套用到運算元。

  2. 運算子範例包括 +、-、*、/ 及 new。

  3. 運算元範例包括常值欄位區域變數運算式

就跟數學的基本運算公式一樣,運算式=算式運算元=值運算子=加減乘除
另外,運算規則也是一樣,先乘除,後加減


運算子介紹

C#提供一些運算子。內建類型支援其中許多,而且可讓使用這些類型的值來執行基本作業。這些運算子包含下列群組:

  1. 使用數值運算元執行算數運算的算術運算子
  2. 比較數值運算元的比較運算子
  3. 使用運算元執行邏輯運算的布林邏輯運算子bool
  4. 使用整數類型的運算元來執行位or移位運算的位and移位運算子
  5. 檢查其運算元是否相等的等號比較運算子

運算子有三種類型:
一元運算子:一元運算子會採用一個運算元,並使用前置詞標記法(例如: --x)或後置標記法(例如: x++)。
二元運算子:二元運算子接受兩個運算元,例如:x + y。
三元運算子:只有一個三元運算子,例如:Max=(a > b)? a:b,表示若 a > b是True,Max=a,反之Max = b。

即便是程式編碼,也是會有運算的優先運算順序層級,下表依優先順序從最高到最低的順序來匯總所有運算子。
順序

當兩個具有相同優先順序的運算子之間發生運算元時,運算子的關聯性會控制作業的執行順序:

1.除了指派運算子和null聯合運算子之外,所有二元運算子都是左關聯的,這表示作業是由左至右執行。
例如,x + y + z 會判斷值為 (x + y) + z。

  1. 指派運算子、null 聯合運算子和條件運算子(?:)都是靠右關聯的,這表示作業是由右至左執行。
    例如,x = y = z 會判斷值為 x = (y = z)。

  2. 可以使用括弧來控制優先順序和關聯性。
    例如,x + y * z 會先將 y 乘以 z,然後再將結果加到 x,而 (x + y) * z 則會先將 x 與 y 相加,然後再將結果乘以 z。

是不是跟數學運算很像,所以又要再上一次數學課了(咦!?)


比較運算子

比較運算子用於測試兩個運算元之間的關係,結果回傳布林值
比較


邏輯運算子

邏輯運算子包含邏輯非,施用於單一運算元,其它邏輯且都需要兩個運算元
邏輯

只有一個的|還有&,在進行判斷時,前後兩個運算元都會評估
兩個的||和&&,在進行判斷時,只有在必要時才會評估右邊的運算元


算式運算子

算術運算子可用在整數浮點數,計算結果也為整數或浮點數。

算式

參考資料來源

C # 運算子和運算式
C#入門指南
教學誌


上一篇
Day 17-C#編碼的變數宣告與常數宣告
下一篇
Day 19-C#運算子與運算式之介紹趴兔
系列文
我要努力成為軟體後端工程師!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言