有时,某些指令需要重复执行。循环是一种理想的方法。循环表示必须重复的一组指令。在循环的上下文中,重复被称为迭代 。

下图说明了循环的分类

让我们开始讨论确定循环。迭代次数是确定/固定的循环称为确定循环 。

序号 循环和描述
1 for 循环

for循环是一个明确的循环的实现。for循环执行代码块指定的次数。它可用于迭代一组固定的值,例如数组

2 for ... in 循环

for ... in循环用于循环对象的属性。

下面我们来看看不确定循环。当循环中的迭代次数不确定或未知时,将使用不定循环。可以使用以下方式实现确定循环:

序号 循环和描述
1 while 循环

每次指定的条件求值为true时,while循环都会执行指令。换句话说,循环在执行代码块之前评估条件。

2 do…while 循环

do ... while循环类似于while循环,只是do ... while循环不会在第一次循环执行时评估条件。

现在让我们继续讨论Dart的 循环控制语句

序号 控制声明和描述
1 break 语句

break语句用来作为控制了结构的。在循环中使用break会导致程序退出循环。以下是break语句的示例。

2 continue Statement

continue语句跳过当前迭代的后续语句,并采取控制回到循环的开始。

使用标签来控制程序流程

标签是只是一个标识符,后跟一个冒号(:)被加到一个语句或代码块。标签可以与breakcontinue一起使用,更精确地控制流量。

continuebreak语句与其标签名称之间不允许换行符。此外,标签名称和关联循环之间不应该有任何其他语句。

示例:带有break的标签

void main() {
outerloop: // This is the label name for (var i = 0; i < 5; i++) {
print("Innerloop: ${i}");
innerloop: for (var j = 0; j < 5; j++) {
if (j > 3 ) break ; // Quit the innermost loop
if (i == 2) break innerloop; // Do the same thing
if (i == 4) break outerloop; // Quit the outer loop
print("Innerloop: ${j}");
}
}
}

成功执行上述代码后,将显示以下输出 。

Innerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 2
Innerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 4

示例:带continue的标签

void main() {
outerloop: // This is the label name for (var i = 0; i < 3; i++) {
print("Outerloop:${i}"); for (var j = 0; j < 5; j++) {
if (j == 3){
continue outerloop;
}
print("Innerloop:${j}");
}
}
}

成功执行上述代码后,将显示以下输出。

Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2 Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2 Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2

本文转自:http://codingdict.com/article/21915

最新文章

  1. Unity3D 更新文件下载器
  2. 2016年GitHub 排名前 100 的安卓、iOS项目简介(收藏)
  3. WPF中Dispatcher未捕获异常之处理
  4. 遍历PspCidTable表检测隐藏进程
  5. MySQL主从复制(Master-Slave)与读写分离(MySQL-Proxy)实践
  6. spring整合quartz并持久化
  7. Android-ImageView.ScaleType
  8. C#之VS2010ASP.NET页面调用Web Service和winform程序调用Web Service
  9. 工作流activiti-03数据查询(流程定义 流程实例 代办任务) 以及个人小练习
  10. MongoDB应用案例:使用 MongoDB 存储日志数据
  11. kettle闪退问题
  12. Vue自定义指令获取DOM元素
  13. 《HelloGitHub》第 21 期
  14. 怎么选择公司???MVC加jquery-easyui 后端工程师
  15. python学习-01
  16. 02MYSQL查询语句
  17. ansible 自动化管理
  18. 在ASP.NET MVC应用中开发插件框架(中英对照)
  19. 解析URL参数
  20. 在ubuntu16安装supervisor 并 启动 .net core.

热门文章

  1. 笔记62 Spring Boot快速入门(二)
  2. Zookeeper用作注册中心的原理
  3. 关于if else 和 三目运算符的效率问题-java
  4. bzoj1066题解
  5. adis16405 配置
  6. POJ 1329 Circle Through Three Points(三角形外接圆)
  7. UVA - 143 Orchard Trees (点在三角形内)
  8. 『Golang』—— 标准库之 os
  9. 【react】---Hooks的基本使用---【巷子】
  10. 某个ip段可以访问mysql