📘Flutter 零基础入门(四):switch、多分支判断与循环
在前面的学习中,我们已经掌握了:
- 使用
if / else进行条件判断 - 使用
&& / ||组合多个条件 - 让程序根据不同情况执行不同逻辑
但在实际开发中,你会很快发现两个新问题:
1️⃣ 判断条件一多,if / else if 会变得冗长
2️⃣ 有些代码需要 重复执行,但复制粘贴显然不是好办法
这一篇,我们来解决这两个问题。
一、switch:更清晰的多分支判断
当你的判断逻辑是:
根据某一个确定的值,执行不同的代码
这时,switch 会比 if / else if 更清晰。
1️⃣ 基本语法
switch (变量) {
case 值1:
// 执行代码
break;
case 值2:
// 执行代码
break;
default:
// 其他情况
}
关键点:
switch后面是一个变量case用来匹配具体值break必须写,用于跳出判断default相当于else
2️⃣ 示例:根据星期输出内容
int day = 1;
switch (day) {
case 1:
print('星期一');
break;
case 2:
print('星期二');
break;
case 3:
print('星期三');
break;
default:
print('未知日期');
}
📌 执行逻辑:
- 程序会拿
day的值 - 依次与
case后的值比较 - 匹配成功就执行对应代码
3️⃣ switch vs if
| 场景 | 推荐 |
|---|---|
| 判断范围(如分数段) | if / else |
| 判断固定值(如状态、类型) | switch |
二、为什么需要循环?
想象一个需求:
输出 1 到 5 的数字
你可能会这样写:
print(1);
print(2);
print(3);
print(4);
print(5);
这样写的问题是:
- 重复
- 不灵活
- 无法应对变化
这时候,就需要 循环。
三、for 循环:最常用的循环方式
1️⃣ 基本结构
for (初始化; 条件; 更新) {
// 重复执行的代码
}
理解方式:
- 初始化:只执行一次
- 条件:每次执行前判断
- 更新:每轮执行后变化
2️⃣ 示例:输出 1 到 5
for (int i = 1; i <= 5; i++) {
print(i);
}
执行过程可以理解为:
- i = 1
- 判断
i <= 5 - 执行
print(i) - i + 1
- 重复以上步骤
3️⃣ 实际开发中的常见用途
for (int i = 0; i < 3; i++) {
print('Flutter 很好玩');
}
四、while 循环:条件控制型循环
while 更关注:
只要条件成立,就一直执行
1️⃣ 基本语法
while (条件) {
// 执行代码
}
2️⃣ 示例
int count = 1;
while (count <= 3) {
print(count);
count++;
}
⚠️ 注意:
- 条件一定要有“变化”
- 否则会造成死循环
五、for 与 while 的区别
| 对比 | for | while |
|---|---|---|
| 使用频率 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 适合场景 | 次数明确 | 次数不确定 |
| 代码结构 | 更紧凑 | 更灵活 |
📌 初学阶段建议:
优先使用 for 循环
六、一个综合示例
for (int i = 1; i <= 5; i++) {
if (i % 2 == 0) {
print('$i 是偶数');
} else {
print('$i 是奇数');
}
}
这个例子同时用到了:
- 循环
- 条件判断
- 字符串插值
七、总结
本篇你已经学会了:
- 使用
switch处理固定值判断 - 使用
for让代码重复执行 - 使用
while控制条件型循环 - 理解循环在程序中的重要地位
你已经正式掌握了:
程序控制流程的核心能力
🔜 下一篇预告
《Flutter 零基础入门(五):List 列表与遍历》
下一篇我们将学习:
- 什么是 List(列表)
- 如何存储一组数据
- 如何配合
for循环遍历数据 - 为 Flutter 列表 UI(ListView)打基础
从下一篇开始,我们将逐步进入:
Flutter UI 编程真正需要的核心数据结构