有时某些指令需要重复执行,循环是一种理想的方法。循环表示必须重复的一组指令。在循环的上下文中,重复称为迭代。
下面我们首先来了解确定(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 循环的流程图 –

以下是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