Dart 编程 - 循环
有时,某些指令需要重复执行。循环是实现相同功能的理想方式。循环表示一组必须重复的指令。在循环的上下文中,重复称为迭代。
下图说明了循环的分类 −
让我们从确定循环开始讨论。迭代次数确定/固定的循环称为确定循环。
Sr.No | 循环和说明 |
---|---|
1 | for 循环
for 循环是确定循环的一种实现。for 循环会按指定的次数执行代码块。它可用于迭代一组固定的值,例如数组 |
2 | for…in 循环
for...in 循环用于循环遍历对象的属性。 |
接下来,让我们讨论一下无限循环。当循环中的迭代次数不确定或未知时,使用无限循环。可以使用 − 实现无限循环
Sr.No | 循环 &描述 |
---|---|
1 | while 循环
每次指定的条件计算为真时,while 循环都会执行指令。换句话说,循环在执行代码块之前评估条件。 |
2 | do…while 循环
do…while 循环与 while 循环类似,不同之处在于 do...while 循环在第一次执行循环时不会评估条件。 |
现在让我们继续讨论 Dart 的 循环控制语句。
Sr.No | 控制语句 &描述 |
---|---|
1 | break 语句
break 语句用于将控制权从构造中移出。在循环中使用 break 会导致程序退出循环。以下是 break 语句的示例。 |
2 | continue 语句
continue 语句跳过当前迭代中的后续语句并将控制权返回到循环的开头。 |
使用标签控制流程
标签只是一个标识符,后跟一个冒号 (:),应用于语句或代码块。标签可以与 break 和 continue 一起使用,以更精确地控制流程。
'continue' 或 'break' 语句与其标签名称之间不允许换行。此外,标签名称和相关循环之间不应有任何其他语句。
示例:带有 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