C# - 運算子:編程魔法的入門
你好,未來的編碼巫師們!今天,我們要深入C#運算子的奇妙世界。別擔心如果你之前從未寫過一行代碼——到了這個教學的結尾,你將會像專家一樣玩轉運算子!
運算子是什麼?
在我們開始之前,讓我們先了解運算子是什麼。可以把運算子當成編程中的魔法棒。它們允許我們對數據進行操作,就像廚師用不同的器具來製作美味的菜餚一樣。在C#中,我們有各種類型的運算子,幫助我們操縱我們的原料(數據)來創造出神奇的配方(程序)!
算術運算子:基本的數學魔法
讓我們從最簡單的運算子開始——算術運算子。這些就像每個巫師最初學習的基本咒語。
加法 (+)
int apples = 5;
int oranges = 3;
int totalFruit = apples + oranges;
Console.WriteLine($"總共的水果: {totalFruit}");
輸出:總共的水果: 8
在這裡,我們將蘋果和橙子相加(他們說你不應該這樣做,但在C#中,我們是反叛者!)。+
運算子將apples
和oranges
的值相加,將結果存儲在totalFruit
中。
減法 (-)
int cookies = 10;
int eaten = 3;
int remaining = cookies - eaten;
Console.WriteLine($"剩下的cookies: {remaining}");
輸出:剩下的cookies: 7
-
運算子從cookies
中減去eaten
。這就像魔法——cookies消失了!
乘法 (*)
int students = 5;
int pencilsPerStudent = 2;
int totalPencils = students * pencilsPerStudent;
Console.WriteLine($"需要的鉛筆總數: {totalPencils}");
輸出:需要的鉛筆總數: 10
*
運算子將students
乘以pencilsPerStudent
。這對於快速計算購買多少鉛筆給你的課堂非常適合!
除法 (/)
int pizza = 8;
int friends = 3;
int slicesPerFriend = pizza / friends;
Console.WriteLine($"每個朋友的片數: {slicesPerFriend}");
輸出:每個朋友的片數: 2
/
運算子將pizza
除以friends
。注意,我們得到的是2,而不是2.67。那是因為當除以整數時,C#會舍去小數部分。就像計算機在對pizza片吝嗇一樣!
餘數 (%)
int pizza = 8;
int friends = 3;
int leftoverSlices = pizza % friends;
Console.WriteLine($"剩下的片數: {leftoverSlices}");
輸出:剩下的片數: 2
%
運算子給我們除法的餘數。這對於計算你和朋友分享pizza後你能吃到多少片非常適合!
間接運算子:比較專家
現在,讓我們來看看間接運算子。這些運算子就像烹飪節目中的評委——它們比較事物並給我們一個是或不是的答案。
等於 (==)
int myAge = 25;
int yourAge = 25;
bool sameAge = (myAge == yourAge);
Console.WriteLine($"我們年齡相同嗎? {sameAge}");
輸出:我們年齡相同嗎? True
==
運算子檢查兩個值是否相等。就像在問,“這兩樣東西完全一樣嗎?”
不等於 (!=)
string myFavoriteColor = "Blue";
string yourFavoriteColor = "Red";
bool differentFavorites = (myFavoriteColor != yourFavoriteColor);
Console.WriteLine($"我們有不同的最喜歡顏色嗎? {differentFavorites}");
輸出:我們有不同的最喜歡顏色嗎? True
!=
運算子檢查兩個值是否不相等。就像在問,“這兩樣東西不同嗎?”
大於 (>) 和 小於 (<)
int myScore = 85;
int passingScore = 70;
bool passed = (myScore > passingScore);
Console.WriteLine($"我通過了嗎? {passed}");
輸出:我通過了嗎? True
>
運算子檢查左邊的值是否大於右邊的值。同樣,<
檢查左邊的值是否小於右邊的值。
大於或等於 (>=) 和 小於或等於 (<=)
int myHeight = 180;
int doorHeight = 180;
bool canIPass = (myHeight <= doorHeight);
Console.WriteLine($"我能通過這扇門嗎? {canIPass}");
輸出:我能通過這扇門嗎? True
這些運算子檢查一個值是否大於或等於(或小於或等於)另一個值。
邏輯運算子:決策者
邏輯運算子就像我們編程村莊中的智者和長者。它們幫助我們通過結合不同的條件來做出複雜的決策。
AND (&&)
bool hasMoney = true;
bool isHungry = true;
bool willBuyFood = hasMoney && isHungry;
Console.WriteLine($"我會買食物嗎? {willBuyFood}");
輸出:我會買食物嗎? True
&&
運算子只有當兩個條件都為真時才返回真。就像在說,“我只有在有錢並且飢餓時才會買食物。”
OR (||)
bool isRaining = false;
bool isCold = true;
bool willStayInside = isRaining || isCold;
Console.WriteLine($"我會待在室內嗎? {willStayInside}");
輸出:我會待在室內嗎? True
||
運算子只要至少一個條件為真就返回真。就像在說,“我會待在室內,如果下雨或天氣寒冷。”
NOT (!)
bool isSunny = true;
bool isNotSunny = !isSunny;
Console.WriteLine($"天氣不晴朗嗎? {isNotSunny}");
輸出:天氣不晴朗嗎? False
!
運算子顛倒布爾值。就像在說,“如果天氣晴朗,那麼它不是不晴朗。”
位運算子:二進制的夥伴
位運算子對數字的個別位進行操作。它們就像編程世界中的顯微廚師,在我們數據的最微小層面上工作。
位運算 AND (&)
int a = 5; // 二進制為 101
int b = 3; // 二進制為 011
int result = a & b;
Console.WriteLine($"5 & 3 的結果: {result}");
輸出:5 & 3 的結果: 1
&
運算子在每對位上執行AND操作。就像在問,“這兩個位都是1嗎?”
位運算 OR (|)
int a = 5; // 二進制為 101
int b = 3; // 二進制為 011
int result = a | b;
Console.WriteLine($"5 | 3 的結果: {result}");
輸出:5 | 3 的結果: 7
|
運算子在每對位上執行OR操作。就像在問,“至少有一個位是1嗎?”
賦值運算子:數值的設定者
賦值運算子就像編程世界中的搬運工。它們幫助我們將值放入變量中。
簡單賦值 (=)
int x = 10;
Console.WriteLine($"x 現在是: {x}");
輸出:x 現在是: 10
=
運算子簡單地將一個值賦給一個變量。
縮合賦值 (+=, -=, *=, /=)
int score = 100;
score += 50; // 相當於: score = score + 50
Console.WriteLine($"新的分數: {score}");
輸出:新的分數: 150
縮合賦值運算子將算術操作與賦值結合起來。它們在編程中是縮寫。
雜項運算子:特殊的工具
這些運算子就像廚師厨房中的特殊工具——它們有特定而重要的工作。
三元運算子 (?:)
int age = 20;
string status = (age >= 18) ? "成人" : "未成年人";
Console.WriteLine($"狀態: {status}");
輸出:狀態: 成人
三元運算子是if-else語句的簡寫形式。就像在問一個問題並提供兩個可能的答案。
C#中的運算符優先級
就像在數學中一樣,C#在評估帶有多個運算符的表達式時遵循特定的順序。以下是一個簡化的運算符優先級表:
優先級 | 運算符類別 | 運算符 |
---|---|---|
最高 | 括號 | () |
算術 | *, /, % | |
算術 | +, - | |
間接 | <, >, <=, >= | |
相等 | ==, != | |
邏輯 AND | && | |
邏輯 OR | || | |
最低 | 賦值 | =, +=, -= |
記住,當你猶豫時,使用括號來清楚表達你的意圖!
好了,我的年輕編碼學徒們!你剛剛被介紹到了C#運算子的神奇世界。記住,熟能生巧,所以不要害怕在你的代碼中試驗這些運算子。在你還沒有察覺之前,你將會像一個真正的編碼巫師一樣編寫程序!
快樂編程,願運算符與你同在!
Credits: Image by storyset