下图说明了条件循环的分类-
![Classification Of Loops](http://dev-img.mos.moduyun.com/20231119/b394e4e3-a51b-4a43-8d70-4fe44ba015bf.jpg)
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: for (var j=0; j < 5; j++) { if (j > 3 ) break ; //退出最里面的循环 if (i == 2) break innerloop; //跟上面一样 if (i == 4) break outerloop; //退出外循环 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: //这是标签名称 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
参考链接
https://www.learnfk.com/dart-programming/dart-programming-loops.html