无涯教程-Dart - 循环语句

47 阅读2分钟

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

Classification Of Loops
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">&lt;</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">&gt;</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">&lt;</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: 2 

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

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

参考链接

www.learnfk.com/dart-progra…