C# Challenge 04 - 針對 C# 中的數字執行基本作業
Microsoft 2023 年所提供的 C# codecamp 基礎課程,總共有 38 個單元,完成後就可以獲得 Certification ,今天要來跟大家分享的是第四單元章節的內容。
本節內容
不同型別資料組合
1 | string firstName = "Bob"; |
編譯器會直接將所有 Console.WriteLine()
的內容視為字串,然後把它們全部串聯在一起。
但如果要將該字元視為數字進行運算時,可以使用 ()
來表明這裡的值是要作為 int
來計算而不是 string
。
1
2
3
4string firstName = "Bob";
int widgetsSold = 7;
Console.WriteLine(firstName + " sold " + (widgetsSold + 7) + " widgets.");
// output: Bob sold 14 widgets.
基本運算子
數學運算子
+
是加法運算子-
是減法運算子*
是乘法運算子/
是除法運算子
小數點運算規則和型別
1 | decimal decimalQuotient = 7.0m / 5; |
如果是小數點的資料要使用運算子的話,記得被除數或者是除數其中一個必須要是 decimal
的 type (或是兩者同時都是 decimal
也可以) 。
轉換型別後計算
但如果原本是 int
的資料型別卻想要做 decimal
小數點形式的資料轉換和計算的話,可以使用 (decimal)
來完成。
1 | int first = 7; |
取餘數運算子
就是 %
,功能是計算資料後的餘數,如下面範例所示:
1
2
3
4Console.WriteLine($"Modulus of 200 / 5 : {200 % 5}");
Console.WriteLine($"Modulus of 7 / 5 : {7 % 5}");
// output: Modulus of 200 / 5 : 0
// output: Modulus of 7 / 5 : 2
運算子優先順序
- Parentheses (括弧) : 必須先執行括弧內的內容
- Exponents (指數)
- Multiplication (乘法) 與 Division (除法) : 由左至右
- Addition (加法) 與 Subtraction (減法) : 由左至右
複合指派運算子
+=
運算子會新增運算子右邊的值,並將其指派給運算子左邊的值。int value = 0; // value is now 0. value = value + 5; // value is now 5. value += 5; // value is now 10.
++
運算子會將變數的值遞增 1。int value = 0; // value is now 0. value = value + 1; // value is now 1. value++; // value is now 2.
先遞增後遞增的範例
這邊可以特別注意一下先遞增和後遞增的差異,附上 ChatGPT 的說明在下方。
int value = 1; value++; Console.WriteLine("First: " + value); Console.WriteLine($"Second: {value++}"); Console.WriteLine("Third: " + value); Console.WriteLine("Fourth: " + (++value)); // output: First: 2 // Second: 2 // Third: 3 // Fourth: 4
- 先遞增(++value) : 在進行遞增操作之前,首先會將變數的值加 1,然後返回遞增後的值。換句話說,先遞增操作會首先增加變數的值,然後返回新的值。
- 後遞增(value++) : 在進行遞增操作之前,首先會返回變數的當前值,然後再將變數的值加 1。換句話說,後遞增操作會首先返回當前的值,然後再增加變數的值。
這兩種遞增操作的主要差異就是返回值的順序。如果需要先使用變數的當前值,然後再遞增,則應使用後遞增 (value++)。如果要先遞增變數的值,然後再使用新的值,則應使用先遞增 (++value)。在先遞增的情況下,變數的值會在遞增前被修改,而在後遞增的情況下,變數的值會在遞增後被修改。
簡而言之就是根據遞增和遞減運算子是位於運算元之前或之後,執行方式會有所不同。
重點整理
今天主要都在介紹運算子,然後新的知識點是先遞增和後遞增的差異:後遞增是先返回值再做後續的計算;先遞增是先進行運算操作後再返回值。
除了學 C# 的東西也同時複習一下 JavaScript 的型別挺好的哈哈!
那我們下次見ʘ‿ʘ