# 当

**条件循环:条件为真就反复执行。**

```xuantie
设 i = 0
当 i < 3 {
    示(i)
    i = i + 1
}
```

## 你可以……

- **用复合条件控制循环**——和 `若` 一样是裸表达式,不套括号:

```xuantie
当 剩余 > 0 且 未超时 {
    示("继续处理")
    剩余 = 剩余 - 1
}
```

- **配合 断 中途退出**——出口条件不必全挤在循环头上:

```xuantie
当 真 {
    设 输入 = 输("> ")
    若 输入 == "退出" { 断 }
}
```

## 注意

- 条件在每轮开头重新求值;循环体不改变条件,循环就不会停。
- 条件一开始就是假,块一次都不执行;只想无条件转下去时用 `循` 更直白。

## 相关

[循](循.md) · [遍历](遍历.md) · [断](断.md) · [续](续.md)