※以下內容皆是新手撰寫,內容可能不完全正確
(默默為還沒掛掉的自己拍拍手)
若想令程式做出 做決策的動作(decision-making) ,必須提供一個或多個條件讓系統做判斷/測試。我個人覺得這個部分要弄好的話,需要有一定的邏輯能力與對true和false概念的理解。用大部分程式語言寫這種部分的時候有一種特定結構,有些人稱做 決策樹(decision tree)。我看了一些決策樹之後試著自己畫一棵~分支視情況可以一直分下去,分好分滿(畫得不太好,圖醜不要打我喔QQ):
C#提供的決策敘述(decision-making statements)
用以下自己寫的例子講 if、else if和else ;這個程式從變數bmi判斷體重是過輕、健康範圍還是過重。Bmi小於18會顯示「你體重過輕!」,大於24會顯示「你體重過重!」,而bmi在18到24之間是健康體重,會輸出「你體重在健康範圍內!」。只有兩個條件的話,一般用if跟else就好了(寫出一個條件,else用來處理那個條件以外的部分);else if用於多於兩種情況/條件的狀況:
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int bmi = 27;
if (bmi < 18)
{
Console.WriteLine("You are underweight!");
}
else if (bmi > 24)
{
Console.WriteLine("You are overweight!");
}
else
{
Console.WriteLine("You are at a healthy weight!");
}
}
}
}
switch敘述(switch statement)
switch簡單來說就是拿一個變數經過一堆不同條件/情況的方法,如此一來便能省略一大堆的else if。使用switch的格式如下,case可以增加下去,且每個case要以break;收尾;省了很多大括號,比用else if便利:
{ int variable = 5
switch (variable)
{
case 'case 1':
Console.WriteLine("Scenario 1");
break;
case 'case 2':
Console.WriteLine("Scenario 2");
break;
case 'case 3':
Console.WriteLine(Scenario 3);
break;
default:
Console.WriteLine("abcdefg");
break;
}
}
?:運算子(?:Operator)
?:運算子可以當作if – else的簡化版,格式為以下:
string a = (表式/條件x)? 條件x屬實呈現的:條件x不屬實呈現的;
Console.WriteLine(a);
如此一來,輸出的就是經過判斷ㄉa了 ~
這篇比前一篇好寫一點點,下一篇會講迴圈 v(^_^)v 是一個越來越難懂的節奏啊…
參考資料:
(a) Microsoft; ?: Operator
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/conditional-operator
(b) Tutorialspoint; C# - Decision Making
https://www.tutorialspoint.com/csharp/csharp_decision_making.htm