TypeScript - 選擇結構

Hello, 動手學習的編程愛好者們!今天,我們將深入編程中最關鍵的概念之一:選擇結構。作為你們親切友善的鄰居計算機老師,我很興奮能夠引導你們進行 TypeScript 的這次旅程。如果你之前從未寫過一行代碼也不用擔心——我們將從最基礎的知識開始,一起逐步學習。

TypeScript - Decision Making

選擇結構是什麼?

在我們投入代碼之前,讓我們先討論一下在編程中選擇結構到底意味著什麼。想像你正在玩一款視頻遊戲。遊戲會根據你的動作不斷做出選擇:如果你按下跳躍鍵,你的角色就會跳躍;如果你撞到敵人,你就會失去一條生命。這就是選擇結構在行動!

在編程中,選擇結構讓我們的代碼能夠根據特定的條件來做出選擇。這就像是給你的程序一個能夠思考和相應的大腦。

if 語句

TypeScript(以及許多其他編程語言)中最基本的選擇結構形式是 if 語句。讓我們看一個簡單的例子:

let playerScore = 75;

if (playerScore > 50) {
console.log("你通過了這個關卡!");
}

在這段代碼中,我們正在檢查玩家的分數是否超過 50。如果是,我們會打印一條祝賀信息。讓我們分解一下:

  1. 我們聲明一個變量 playerScore 並將其設為 75。
  2. if 關鍵字開始我們的選擇過程。
  3. 在括號內,我們有我們的條件:playerScore > 50
  4. 如果這個條件為真,花括號 {} 內的代碼將會運行。

運行這段代碼,你會看到 "你通過了這個關卡!" 被打印出來。試著將 playerScore 改為 40 並看看會發生什麼!

if-else 語句

但是,如果我們想在條件不為真時做些事情該怎麼辦呢?這時 else 語句就派上用場了:

let playerLives = 0;

if (playerLives > 0) {
console.log("遊戲進行中!你還活著。");
} else {
console.log("遊戲結束!下次運氣會更好。");
}

在這裡,我們正在檢查玩家是否還有生命。如果他們有,遊戲繼續。如果沒有,遊戲結束。這是一個很好的例子,展示了遊戲是如何使用選擇結構來控制遊戲流程的。

else-if 語句

有時候,我們需要檢查多個條件。這時 else if 就派上用場了:

let grade = 85;

if (grade >= 90) {
console.log("A - 卓越!");
} else if (grade >= 80) {
console.log("B - 好工作!");
} else if (grade >= 70) {
console.log("C - 不錯,持續進步!");
} else {
console.log("你需要更加努力學習!");
}

這段代碼檢查學生的成績,並根據分數提供不同的反饋。它從最高分開始檢查,然後逐級下來。一旦一個條件為真,那個代碼塊就會運行,其餘的則被跳過。

switch 語句

當你有許多條件要檢查,特別是當你將一個變量與多個值進行比較時,switch 語句可以更清晰、更高效:

let dayNumber = 3;
let day: string;

switch (dayNumber) {
case 0:
day = "星期日";
break;
case 1:
day = "星期一";
break;
case 2:
day = "星期二";
break;
case 3:
day = "星期三";
break;
case 4:
day = "星期四";
break;
case 5:
day = "星期五";
break;
case 6:
day = "星期六";
break;
default:
day = "無效的日子";
}

console.log(`今天는 ${day}`);

這個 switch 語句檢查 dayNumber 的值,並將對應的日子名稱分配給 day 變量。在這裡,break 語句非常關鍵 —— 它告訴代碼在一個匹配被找到後停止檢查其他情況。

條件(三元)運算符

對於簡單的 if-else 選擇,TypeScript 提供了一個簡寫,稱為三元運算符。它有點像提問一個是/否問題:

let age = 20;
let canVote = age >= 18 ? "是" : "否";

console.log(`這個人可以投票嗎?${canVote}`);

這段代碼檢查 age 是否大於或等於 18。如果是,canVote 被設為 "是";否則,它是 "否"。這是一種將簡單的 if-else 語句寫在一行中的簡潔方法。

嵌套選擇結構

有時候,你需要在選擇內部進行選擇。這被稱為嵌套:

let isRaining = true;
let hasUmbrella = false;

if (isRaining) {
if (hasUmbrella) {
console.log("你可以帶著雨傘出去!");
} else {
console.log("最好待在室內,你沒有雨傘。");
}
} else {
console.log("享受外面美好的天氣!");
}

這段代碼首先檢查是否正在下雨。如果是,它然後檢查你是否帶了雨傘。根據這些嵌套條件,它會給你不同的建議。

選擇方法的總結

這裡是一個我們已經討論過的選擇方法的快速參考表:

方法 使用案例 語法
if 單一條件 if (condition) { ... }
if-else 兩種可能的結果 if (condition) { ... } else { ... }
else-if 多個條件 if (condition1) { ... } else if (condition2) { ... } else { ... }
switch 對單一變量進行多個情況的檢查 switch (variable) { case value1: ... break; case value2: ... break; default: ... }
三元 簡單的 if-else 在一行中 condition ? valueIfTrue : valueIfFalse

記住,掌握編程中選擇結構的關鍵在於練習。嘗試創造自己的場景並實現這些不同的方法。也許可以創建一個基於文本的簡單遊戲,使用選擇來推進故事!

當我們結束這個話題時,我想要分享一點編程智慧:編程就像烹飪一樣。你從基本的原料(變量)開始,遵循一個食譜(演算法),使用不同的技術(如選擇結構)來創造令人驚奇的事物。所以不要害怕嘗試和享受樂趣!

持續編程,保持好奇心,並且愉快地做出選擇!

Credits: Image by storyset