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

下图说明了循环的分类

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

序号 循环和描述
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

Dart编程循环的更多相关文章

  1. Dart编程实例 - 类型测试操作符 is!

    Dart编程实例 - 类型测试操作符 is! void main() { double n = 2.20; var num = n is! int; print(num); } 本文转自:http:/ ...

  2. Dart编程实例 - 类型测试操作符is

    Dart编程实例 - 类型测试操作符is void main() { int n = 2; print(n is int); } 本文转自:http://codingdict.com/article/ ...

  3. Dart编程实例 - 相等和关系操作符

    Dart编程实例 - 相等和关系操作符 void main() { var num1 = 5; var num2 = 9; var res = num1>num2; print('num1 gr ...

  4. Dart编程实例 算术操作符

    Dart编程实例 算术操作符 void main() { var num1 = 101; var num2 = 2; var res = 0; res = num1+num2; print(" ...

  5. Dart编程实例 - Const 关键字

    Dart编程实例 - Const 关键字 void main() { final v1 = 12; const v2 = 13; v2 = 12; } 本文转自:http://codingdict.c ...

  6. Dart编程实例 - Final 关键字

    Dart编程实例 - Final 关键字 void main() { final val1 = 12; print(val1); } 本文转自:http://codingdict.com/articl ...

  7. Dart编程实例 - Dynamic 关键字

    Dart编程实例 - Dynamic 关键字 void main() { dynamic x = "tom"; print(x); } 本文转自:http://codingdict ...

  8. Dart编程实例 - Dart 面向对象编程

    Dart编程实例 - Dart 面向对象编程 class TestClass { void disp() { print("Hello World"); } } void main ...

  9. Dart编程实例 - Enabling Checked Mode

    Dart编程实例 - Enabling Checked Mode void main() { int n="hello"; print(n); } 本文转自:http://codi ...

随机推荐

  1. 【JZOJ6433】【luoguP5664】【CSP-S2019】Emiya 家今天的饭

    description analysis 首先可以知道不符合要求的食材仅有一个,于是可以容斥拿总方案数减去选不合法食材的不合法方案数 枚举选取哪一个不合法食材,设\(f[i][j]\)表示到第\(i\ ...

  2. JMeter生成性能报表-Windows环境和Linux环境

    转载自https://www.cnblogs.com/imyalost/p/10239317.html

  3. spring约束

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  4. SQL LIKE 运算符

    SQL LIKE 运算符 在WHERE子句中使用LIKE运算符来搜索列中的指定模式. SQL LIKE 操作符 LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式. 有两个通配符与LIKE运 ...

  5. 高级运维(一):反向代理&使用Varnish加速Web

    案例1.反向代理      目标: 1.代理服务器可以将远程的Web服务器页面缓存于本地 2.代理服务器端口设置为80端口 3.用户通过访问代理服务器即可获得远程Web服务器页面上的内容 4.远程We ...

  6. Codeforces Round#498(Div.3)D. Two Strings Swaps

    题目 题意是给了两个字符串a和b,然后可以对这两个字符串有三种操作来使这两个字符串相等,一是交换a[i]和b[i],二是交换a[i]和a[n-i+1],三是交换b[i]和b[n-i+1],这三个操作都 ...

  7. windows server2012r2 安装NET Framework 3.5

    在Windows Server 2012上安装一些软件,比如Oracle 11g等,经常会出现下面这样的错误:“无法安装一下功能:.NET Framework 3.5(包括.NET 2.0和3.0)” ...

  8. (转)4年python,总结一些改善Python程序的建议

    自己写Python也有四五年了,一直是用自己的"强迫症"在维持自己代码的质量.都有去看Google的Python代码规范,对这几年的工作经验,做个简单的笔记,如果你也在学pythp ...

  9. 1、Appium Desktop介绍

    Appium Desktop是一款适用于Mac,Windows和Linux的开源应用程序,它以美观而灵活的用户界面为您提供Appium自动化服务器的强大功能.它是几个Appium相关工具的组合: Ap ...

  10. CentOS6.5下RPM包安装MySQL5.6.35

    基本环境:VMware10.0+CentOS6.5+MySQL5.6.35 .查看操作系统相关 shell> cat /etc/issue shell> uname -a .创建需要下载r ...