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循环生成从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
1. 本站所有免费资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的免费资源的准确性、安全性和完整性,免费资源仅供下载学习之用!如有链接无法下载、失效,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
4. 如果您也有好的资源或技术教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
5. 加入前端开发QQ群:565733884,我们大家一起来交流技术!
码云笔记 » 08. Dart循环语句

发表评论

提供最优质的资源集合

立即查看 了解详情