第 6 課 - 基本計算
本課介紹
此課主要在教如何進行基本的加減乘除計算
以及複合運算子與遞增預算子的介紹
教學影片
重點提示
+
、-
、*
、/
分別代表加、減、乘、除的意思- 在 C# 裡面計算數學就只要單純地將數學式列出來就可以了,但是算式務必要在等號的右側,左側則是儲存結果的變數
- 除法要是遇到無法整除的情形,它仍會計算到小數點後
- 如果你試圖要將小數存入
int
(整數) 變數裡面,C# 會自動省略小數點之後,只留下整數的部分存進變數裡面- 例如下面程式碼計算結果應為小數的
3.75
,但是因為a
被宣告為整數,所以最後只會存入整數的部分3
int a; a = 30 / 8;
- 例如下面程式碼計算結果應為小數的
- 如果你單純只想算除法的「餘數」的話,可以使用
%
這個符號,相當於數學的 mod 運算 - 下面這個式子
可以簡化為number = number + 8;
這個做法可以同樣套用到number += 8;
-
、*
、/
、%
這些符號上 - 如果今天只需要做單純「遞增」或「遞減」的計算,可以使用
上面分別代表 number 加一與減一 (注意:只能用於加減一的情況)number++; number--;
補充
計算結果
假設今天你寫了一個四則運算的式子,像是 12 + 30 * 23 - 21
這樣。那他的計算結果會跑到哪裡去呢?事實上,C# 在計算的時候,會依照優先順序把上述的結果一次一次地計算出來。然後再存入「=」左邊的變數裡。
像是 12 + 30 * 23 - 21
(別忘記先乘除後加減的原則) 就會先變成 12 + 690 - 21
,再轉變成 702 - 21
,再轉變成 681
,最後再存進變數裡。所以其實電腦也沒聰明多少,他們計算的方法跟我們是差不多的。
整數變數
在影片中可以看到,我們把像是 30 / 8
這種除完後會出現小數 3.75
的計算結果硬是存入整數變數中,就會發生小數點後的 .75
不見,只留下 3
的結果。因此如果今天要把小數完整地保留下來,就必須要使用「小數的變數」。關於這點後面的章節會提到。
優先順序
這些計算符號 + - * \ %
,甚至 =
、++
這些符號,都被稱作為「運算子」(Operator)。C# 一看到運算子,就會依照他的計算邏輯把運算子左右兩邊的值抓出來做計算。那麼為了要使結果正確,並且有規則可循。每個運算子都有優先的順序。
像是我們熟悉的「先乘除、後加減」也是 C# 使用運算子的優先順序之一,所以它就會先計算 * / %
的結果,再去計算 + -
的結果。比較少人注意到的是, =
的優先順序是很低的,所以 C# 才會等算式的結果都出來之後才把值存入變數裡。
詳細的優先順序可以參考下面的連結。
相關資訊連結
C# 運算子優先順序和關聯性
https://learn.microsoft.com/zh-tw/dotnet/csharp/language-reference/operators/#operator-precedence
留言區