Flutter 零基础入门(四):switch、多分支判断与循环

43 阅读3分钟

📘Flutter 零基础入门(四):switch、多分支判断与循环

公众号版

在前面的学习中,我们已经掌握了:

  • 使用 if / else 进行条件判断
  • 使用 && / || 组合多个条件
  • 让程序根据不同情况执行不同逻辑

但在实际开发中,你会很快发现两个新问题:

1️⃣ 判断条件一多,if / else if 会变得冗长
2️⃣ 有些代码需要 重复执行,但复制粘贴显然不是好办法

这一篇,我们来解决这两个问题。


一、switch:更清晰的多分支判断

当你的判断逻辑是:

根据某一个确定的值,执行不同的代码

这时,switch 会比 if / else if 更清晰。


1️⃣ 基本语法

switch (变量) {
  case1:
    // 执行代码
    break;
  case2:
    // 执行代码
    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);
}

执行过程可以理解为:

  1. i = 1
  2. 判断 i <= 5
  3. 执行 print(i)
  4. i + 1
  5. 重复以上步骤

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 的区别

对比forwhile
使用频率⭐⭐⭐⭐⭐⭐⭐⭐
适合场景次数明确次数不确定
代码结构更紧凑更灵活

📌 初学阶段建议:

优先使用 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 编程真正需要的核心数据结构