目录
文章目录隐藏
  1. for 循环
  2. for…in 循环语句
  3. while 循环语句
  4. do…while 循环

有时某些指令需要重复执行,循环是一种理想的方法。循环表示必须重复的一组指令。在循环的上下文中,重复称为迭代。

下面我们首先来了解确定(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循环生成从51的数字序列,计算每次迭代中数字的乘积。

通过使用逗号运算符(,),可以在 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 循环的语法。

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...while循环的语法。

do {  
   Statement(s) to be executed;  
} while (expression);

注意: do…while 循环结束时需要使用的分号。

示例

void main() { 
   var n = 10; 
   do { 
      print(n); 
      n--; 
   }
   while(n>=0); 
}

上面示例以相反的顺序打印010之间的数字。执行上述代码后,将得到以下输出。

10 
9 
8 
7 
6 
5 
4 
3 
2 
1 
0

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 08. Dart循环语句

发表回复