【Flutter 开发实战】Dart 基础篇:条件循环表达式

Dart 是一门强大的编程语言,其条件和循环表达式在编写灵活、高效代码中起着关键作用。本文将深入介绍 Dart 中的条件表达式、循环表达式、以及关键字如 forwhiledo...whilebreakcontinue 等内容,旨在为初学者提供清晰的指导。

1. 条件表达式

Dart 中的条件表达式主要通过 if 语句来实现,用于根据不同的条件执行相应的代码块。下面用一个简单的下雨带伞的案例来讲解一下:

加入某天你想开发一个天气预报 app,天气预报 app 中可能需要一个根据天气提示是否带伞的功能,那么我们可能就需要根据今天是否下雨来提示我们是否要带伞,那么就有以下两种情况:

  • 下雨了 → 提醒我们带伞
  • 没下雨 → 提醒我们不用带伞
    就如下面的流程图所示:

像这种需要根据某个变量的值来执行不同的功能的情况下就需要使用条件判断语句来实现我们想要达到的功能。

dart 复制代码
void main() {
  bool isRaining = true;

  if (isRaining) {
    print("Remember to take an umbrella!");
  } else {
    print("No need for an umbrella today.");
  }
}

if 语句的结构非常直观,根据 isRaining 变量的值选择执行不同的代码块。

2. 循环表达式

2.1 for 循环

在 Dart 中,for 循环是一种迭代结构,通过初始化、条件判断和迭代器来控制循环次数。这种结构使得我们可以方便地重复执行特定的代码块。

假设我们想要依次打印出数字 0 到 4 中的数字,我们就可以使用 for 循环来实现:

dart 复制代码
void main() {
  for (int i = 0; i < 5; i++) {
    print("Iteration $i");
  }
}

for 循环从 i = 0 开始,当 i 小于 5 时执行循环体,每次迭代增加 i 的值。直到 i 大于或等于 5 时退出循环。

2.2 while 循环

在 Dart 中,while 循环是一种迭代结构,用于在满足条件时执行特定的代码块。与 for 循环相比,while 循环更加灵活,只需要满足条件,就可以一直执行循环体内的代码。

假设我们想要通过 while 循环打印出数字 0 到 4 的循环序列,可以这样实现:

dart 复制代码
void main() {
  int count = 0;

  while (count < 5) {
    print("Count: $count");
    count++;
  }
}

首先通过 int count = 0 进行初始化,然后通过 while (count < 5) 进行条件判断,循环体内打印当前计数值,并通过 count++ 进行迭代。这样,当 count 达到 5 时,循环停止。

总的来说,while 循环提供了一种更加灵活的循环结构,适用于各种场景下需要动态条件判断的情况。

2.3 do...while 循环

do...while 循环是一种迭代结构,它与 while 循环相似,但不同之处在于它会先执行一次循环体,然后再判断条件是否满足。这确保循环体至少执行一次。

让我们通过一个简单的例子,使用 do...while 循环打印出数字 0 到 4 的循环序列:

dart 复制代码
void main() {
  int count = 0;

  do {
    print("Count: $count");
    count++;
  } while (count < 5);
}

在上述代码中,首先通过 int count = 0 进行初始化,然后使用 do...while 循环,在循环体内打印当前计数值,并通过 count++ 进行迭代。这样,即使在满足条件之前,循环体至少会执行一次。

3. break 和 continue

3.1 break 语句

在 Dart 中,break 语句是用于立即终止循环的关键字,它可以在 switch 语句、for 循环和 while 循环中使用。下面通过一个 for 循环的例子来演示 break 语句的功能:

dart 复制代码
void main() {
  for (int i = 0; i < 5; i++) {
    if (i == 3) {
      print("Breaking out of the loop at iteration $i");
      break;
    }
    print("Iteration $i");
  }
}

在上述代码中,for 循环会迭代五次,但当 i 的值等于 3 时,break 语句会立即终止循环,跳出循环体。这导致在达到条件的那一刻,不再执行循环体内位于 break 后的语句。

break 语句在循环中的应用非常灵活,可以用于提前结束循环,跳出当前层次的迭代结构。在实际应用中,break 经常与条件语句结合使用,用于在满足某条件时提前退出循环。

3.2 continue 语句

在 Dart 中,continue 语句用于结束当前循环中尚未执行的语句,接着进行下一次是否执行循环的判断。以下是一个使用 continue 的例子,在 for 循环中跳过特定的迭代:

dart 复制代码
void main() {
  for (int i = 0; i < 5; i++) {
    if (i == 2) {
      print("Skipping iteration $i");
      continue;
    }
    print("Iteration $i");
  }
}

在上述代码中,当 i 的值等于 2 时,continue 语句会跳过当前迭代,不执行 print("Iteration $i") 语句,直接进入下一次迭代。这使得在特定条件下可以选择跳过循环体的部分内容。

值得注意的是,虽然 continue 可以用在 for 循环和 while 循环中,但在使用时需要小心,以避免进入死循环。在实际应用中,continue 通常用于特定条件下跳过当前迭代,继续执行下一次循环。

结语

通过本文的详细介绍,希望读者对 Dart 中的条件表达式、循环表达式以及 breakcontinue 关键字有了更清晰的理解。这些基础概念是编写高效代码的关键,对于初学者来说是必须掌握的知识点。希望读者能够通过实践和深入学习,更加熟练地运用这些语法特性。

|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 作者信息 作者 : 繁依Fanyi CSDN: https://techfanyi.blog.csdn.net 掘金:https://juejin.cn/user/4154386571867191 |

相关推荐
cdut_suye11 分钟前
C++11新特性探索:Lambda表达式与函数包装器的实用指南
开发语言·数据库·c++·人工智能·python·机器学习·华为
计算机学姐21 分钟前
基于SSM的宠物领养平台
java·vue.js·spring·maven·intellij-idea·mybatis·宠物
泰山小张只吃荷园32 分钟前
期末Python复习-输入输出
java·前端·spring boot·python·spring cloud·docker·容器
Mr_Xuhhh34 分钟前
程序地址空间
android·java·开发语言·数据库
YSRM40 分钟前
异或-java-leetcode
java·算法·leetcode
大明湖的狗凯.43 分钟前
MySQL 中的乐观锁与悲观锁
java·数据库·mysql
真上帝的左手43 分钟前
数据库-MySQL-MybatisPlus整合多数据源
数据库·mysql·mybatis
奈斯ing43 分钟前
【MySQL篇】持久化和非持久化统计信息的深度剖析(第一篇,总共六篇)
数据库·mysql
真上帝的左手44 分钟前
数据库-MySQL-Mybatis源码解析-设计模式角度
数据库·mysql·mybatis
z202305081 小时前
linux之调度管理(13)- wake affine 唤醒特性
java·开发语言