TypeScript - 当循环:初学者指南

你好,有抱负的程序们!今天,我们将深入编程的基本概念之一:当循环(while loop)。作为你友好的邻居计算机老师,我很高兴引导你进行这次旅行。如果你是编程新手,别担心——我们将从基础开始,逐步提高。所以,拿起一杯咖啡(或者你最喜欢的饮料),让我们一起开始循环之旅!

TypeScript - While Loop

当循环是什么?

在我们深入研究细节之前,让我们先了解一下当循环是什么。想象你正在玩一个游戏,需要不断掷骰子直到得到一个六。你事先并不知道你需要掷多少次,对吧?这正是当循环在编程中派上用场的地方!

当循环允许你在某个条件为真的情况下重复执行一段代码。就像告诉你的电脑:“嘿,继续做这个,直到我告诉你停止!”

语法

现在,让我们看看TypeScript中当循环的语法:

while (condition) {
// 要执行的代码
}

这很简单,不是吗?下面是每个部分的意义:

  • while:这个关键字告诉TypeScript我们正在开始一个当循环。
  • condition:这是一个布尔表达式,在每次循环迭代之前进行检查。如果它是真的,循环继续;如果它是假的,循环停止。
  • { }:这对大括号包含将重复执行的代码,只要条件为真。

流程图

为了更好地理解当循环是如何工作的,让我们看看一个流程图:

┌─────────────┐
│   开始     │
└─────┬───────┘
│
▼
┌─────────────────┐
│ 检查条件       │◄─────┐
└─────────┬───────┘      │
│              │
▼              │
┌────────┐          │
┌────│  为真  │          │
│    └────┬───┘          │
│         │              │
│         ▼              │
│  ┌─────────────┐       │
│  │ 执行代码   │       │
│  └─────────────┘       │
│         │              │
│         └──────────────┘
│
│    ┌────────┐
└────►  为假  │
└────┬───┘
│
▼
┌─────────────┐
│    结束    │
└─────────────┘

这个图展示了当循环如何不断检查条件并执行代码块,直到条件变为假。

示例:当循环

让我们深入一个实际示例。我们将创建一个从5倒数到1的程序:

let countdown: number = 5;

while (countdown > 0) {
console.log(countdown);
countdown--;
}

console.log("发射!");

让我们分解一下:

  1. 我们首先声明一个变量countdown并将其设置为5。
  2. 当循环检查countdown是否大于0。
  3. 如果是,它将打印countdown的当前值。
  4. 然后,它使用--操作符将countdown减1。
  5. 这个过程会重复,直到countdown不再大于0。
  6. 最后,一旦循环结束,它将打印“发射!”。

当你运行这段代码时,你会看到:

5
4
3
2
1
发射!

这很酷吧?就像我们创建了自己的小火箭发射倒计时!

当循环与break语句

有时,你可能想基于某个特定条件提前退出循环。这时break语句就派上用场了。它就像循环中的紧急出口!

让我们修改一下我们的倒计时示例:

let countdown: number = 10;

while (countdown > 0) {
console.log(countdown);
countdown--;

if (countdown === 5) {
console.log("我们到一半了!");
break;
}
}

console.log("倒计时中断!");

在这个例子中,我们从10开始倒计时,但当我们达到5时,我们中断它。输出将是:

10
9
8
7
6
5
我们到一半了!
倒计时中断!

break语句允许我们在满足特定条件时提前退出循环。

当循环与for循环

现在,你可能想知道:“既然我们有for循环,为什么还要用当循环?”好问题!让我们比较一下:

当循环 for循环
当迭代次数未知时使用 当迭代次数已知时使用
每次迭代开始时检查条件 初始化、条件和更新都在一行
更容易创建无限循环 通常用于有限循环
结构更灵活 结构更紧凑

这里有一个快速示例来说明:

// 当循环
let i: number = 0;
while (i < 5) {
console.log(i);
i++;
}

// 等效的for循环
for (let j: number = 0; j < 5; j++) {
console.log(j);
}

这两个循环都会打印从0到4的数字。当循环更灵活,因为你可以以更复杂的方式在循环体内修改循环变量(i)。另一方面,for循环在你确切知道要迭代多少次时更为简洁。

结论

好了,各位!我们一起穿越了TypeScript中的当循环世界。从理解基本语法到探索break语句,以及与for循环的比较,你现在已经具备了在代码中有效使用当循环的知识。

记住,编程就像学骑自行车——一开始可能有点摇晃,但通过练习,你很快就能自如地骑行!所以,不要害怕在你的项目中尝试当循环。试着创建一个猜谜游戏,或者一个计算复利直到达到特定金额的程序。

快乐编码,愿你的循环总是能够正常结束!

Credits: Image by storyset