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

下图说明了循环的分类

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

序号 循环和描述
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. 【精通css读书笔记】 第八章 布局

    学习了css布局的基础后又来翻阅<精通css>这本经典书籍,对布局有了进一步的认识. 基于浮动的布局 两列的布局仍然是使用一个元素向左浮动,一个元素向右浮动,值得注意的是要加入displa ...

  2. NDK笔记(二)-在Android Studio中使用ndk-build(转)

    前面一篇我们接触了CMake,这一篇写写关于ndk-build的使用过程.刚刚用到,想到哪儿写哪儿. 环境背景 Android开发IDE版本:AndroidStudio 2.2以上版本(目前已经升级到 ...

  3. 基于React Native的跨三端应用架构实践

    作者|陈子涵 编辑|覃云 “一次编写, 到处运行”(Write once, run anywhere ) 是很多前端团队孜孜以求的目标.实现这个目标,不但能以最快的速度,将应用推广到各个渠道,而且还能 ...

  4. Add cast to是什么意思

    eclipse中是强制类型转换的意思.

  5. @staticmethod和@classmethod区别

    转载自: https://www.cnblogs.com/wyongbo/p/python_static_method.html https://www.cnblogs.com/champaign/p ...

  6. 深入理解Magento – 第七章 – 自定义Magento系统配置

    Magento拥有十分强大的后台管理系统.作为一名开发人员,这套后台管理系统可以让你的用户简单直接的配置Magento系统或者你创建的模块.和Magento的其他功能一样,你第一次使用这套管理系统的时 ...

  7. mobx中使用class语法或decorator修饰器时报错

    之前课程中老师用的babel的版本比较低,我在学习时安装的babel版本较高,因此每当使用class语法或decorator修饰器时都会出现一些报错的情况! ❌ ERROR in ./src/inde ...

  8. C#接口的作用实例解析

    一.接口的作用: 我们定义一个接口: public interface IBark { void Bark(); } 1.  再定义一个类,继承于IBark,并且必需实现其中的Bark()方法 pub ...

  9. Linux串口驱动程序(3)-打开设备

    先来分析一下串口打开的过程: 1.用户调用open函数打开串口设备文件:2.在内核中通过tty子系统,把open操作层层传递到串口驱动程序中:3.在串口驱动程序中的xx_open最终实现这个操作.这里 ...

  10. (抓)ubuntu下安装mysql --- 我主要参考的文章

    转:http://cycnet.blog.51cto.com/117809/812625 现在的软件越来越好安装,尤其是在ubuntu下安装软件,更是没有技巧,只需要在联网的情况下使用apt-get ...