08. Dart循环语句
有时某些指令需要重复执行,循环是一种理想的方法。循环表示必须重复的一组指令。在循环的上下文中,重复称为迭代。
下面我们首先来了解确定(Definite)循环 。迭代次数是明确/固定的循环称为确定循环。
for 循环
for
循环是一个确定循环的实现,用于执行代码块指定的次数。它可用于迭代一组固定的值,例如:数组。
以下是 for 循环的语法。
for (initial_count_value; termination-condition; step) { //statements }
示例
void main() { var num = 5; var factorial = 1; for( var i = num ; i >= 1; i-- ) { factorial *= i ; } print(factorial); }
执行上面示例代码,得到以下结果:
120
for 循环有三个部分:初始化程序(i = num
),条件(i> = 1
)和最终表达式(i--
)。
程序计算数字5
的阶乘并显示阶乘。for
循环生成从5
到1
的数字序列,计算每次迭代中数字的乘积。
通过使用逗号运算符(,
),可以在 for 循环中组合多个赋值和最终表达式。例如,以下for
循环打印前八个斐波那契数字 –
void main() { for(var temp, i = 0, j = 1; j<30; temp = i, i = j, j = i + temp) { print('${j}'); } }
执行上面示例代码,得到以下结果:
1 1 2 3 5 8 13 21
for…in 循环语句
for...in
循环用于循环对象的属性。
以下是for...in
循环的语法 –
for (variablename in object){ statement or block to execute }
在每次迭代中,对象的一个属性分配给变量名称,并且此循环继续,直到对象的所有属性都用完为止。
示例
void main() { var obj = [12,13,14]; for (var prop in obj) { print(prop); } }
执行上面示例代码,得到以下结果:
12 13 14
接下来了解无限循环。当循环中的迭代次数不确定或未知时使用不定循环。可以使用以下方式实现无限循环:
while 循环语句
while
循环在每次指定的条件求值为true
时都会执行指令。换句话说,循环在执行代码块之前评估条件。
下图显示了 while 循环的流程图 –
以下是 while 循环的语法。
while (expression) { Statement(s) to be executed if expression is true }
示例
void main() { var num = 5; var factorial = 1; while(num >=1) { factorial = factorial * num; num--; } print("The factorial is ${factorial}"); }
上面的代码使用while
循环来计算变量num
中值的阶乘。执行上面示例代码后,得到以下输出结果 –
The factorial is 120
do…while 循环
do...while
循环类似于while
循环,只是do...while
循环不会在第一次循环执行时评估条件。但是它也会针对后续迭代评估条件。也就是说在do...while
循环中至少执行代码块一次。
下图显示了do...while
循环的流程图 –
以下是do...while
循环的语法。
do { Statement(s) to be executed; } while (expression);
注意: do…while 循环结束时需要使用的分号。
示例
void main() { var n = 10; do { print(n); n--; } while(n>=0); }
上面示例以相反的顺序打印0
到10
之间的数字。执行上述代码后,将得到以下输出。
10 9 8 7 6 5 4 3 2 1 0
码云笔记 » 08. Dart循环语句