下图说明了条件循环的分类-

| Sr.No | Loop & Remark |
|---|---|
| 1 |
for loop for 循环是确定循环的实现, for循环将代码块执行指定的次数,它可以用于迭代一组固定值,如数组 |
| 2 |
for…in Loop for ... in循环用于循环访问对象的属性。 |
继续,让我们现在讨论无限循环,当循环中的迭代次数不确定或未知时,将使用不确定循环,无限循环可以使用-
| Sr.No | Loop & Remark |
|---|---|
| 1 |
while Loop 每当指定的条件求值为true时,while循环就会执行指令。换句话说,循环在执行代码块之前先判断条件。 |
| 2 |
do…while Loop do ... while循环与while循环类似,不同之处在于do ... while循环在第一次执行循环时不会判断条件。 |
现在让我们继续讨论Dart的循环控制语句。
| Sr.No | Control Statement & Remark |
|---|---|
| 1 |
break Statement break 语句用于将控件移出构造。在循环中使用 break 会使程序退出循环。以下是 break 语句的Example。 |
| 2 |
continue Statement continue 语句跳过当前迭代中的后续语句,并将控制权带回到循环的开始。 |
标签控制
标签只是一个标识符,后跟一个冒号(:),该冒号用于语句或代码块,标签可以与 break 和 continue 一起使用,以更精确地控制流量。
在continue或break语句及其标签名称之间不允许使用换行符,同样,在标签名称和关联的循环之间不应有任何其他语句。
示例 - Break
void main() {
outerloop: //这是标签名称
for (var i=0; i < 5; i++) {
print("Innerloop: ${i}");
innerloop:
</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> j</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">j </span><span class="pun">></span><span class="pln"> </span><span class="lit">3</span><span class="pln"> </span><span class="pun">)</span><span class="pln"> </span><span class="kwd">break</span><span class="pln"> </span><span class="pun">;</span><span class="pln">
</span><span class="com">//退出最里面的循环</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">==</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">break</span><span class="pln"> innerloop</span><span class="pun">;</span><span class="pln">
</span><span class="com">//跟上面一样</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">==</span><span class="pln"> </span><span class="lit">4</span><span class="pun">)</span><span class="pln"> </span><span class="kwd">break</span><span class="pln"> outerloop</span><span class="pun">;</span><span class="pln">
</span><span class="com">//退出外循环</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Innerloop: ${j}"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
}
成功执行上述代码后,将显示以下输出。
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: //这是标签名称
for (var i=0; i < 3; i++) {
print("Outerloop:${i}");
</span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> j</span><span class="pun">=</span><span class="lit">0</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
</span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">j </span><span class="pun">==</span><span class="pln"> </span><span class="lit">3</span><span class="pun">){</span><span class="pln">
</span><span class="kwd">continue</span><span class="pln"> outerloop</span><span class="pun">;</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
</span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Innerloop:${j}"</span><span class="pun">);</span><span class="pln">
</span><span class="pun">}</span><span class="pln">
}
}
成功执行上述代码后,将显示以下输出。
Outerloop: 0 Innerloop: 0 Innerloop: 1 Innerloop: 2Outerloop: 1 Innerloop: 0 Innerloop: 1 Innerloop: 2
Outerloop: 2 Innerloop: 0 Innerloop: 1 Innerloop: 2