CoderMrWu

生活诚可期,爱情价更高!

Dart 循环语句

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

下面我们首先来了解确定(Definite)循环 。迭代次数是明确/固定的循环称为确定循环。

1、for循环

for循环是一个确定循环的实现,用于执行代码块指定的次数。

    var num = 30;

    for (var i = 0; i < num; i++) {
      print('num:'+i.toString());
    }

2、for…in…循环

  var lists = [1,2,3,4,5,6,7,8];

  for (var i in lists) {
    print(i);
  }

接下来了解无限循环。当循环中的迭代次数不确定或未知时使用不定循环。可以使用以下方式实现无限循环。

3、while循环

每次指定的条件求值为true时,while循环都会执行指令。在执行代码块之前评估条件。

  var b = true;

  int i = 0;
	// 当 b == false 时, while 循环停止执行
  while (b) {
    i++;
    if (i == 15) {
      b = false;
    }
    print(i);
  }

4、do…while循环

do...while循环类似于while循环,只是do...while循环不会在第一次循环执行时评估条件。

do {
  
  print('执行了!');
  
} while (false);
// 循环体至少执行一次!

Dart的循环控制语句:

5、break语句

break语句用于将控件从构造中取出。在循环中使用break会导致程序退出循环。

在while循环的例子中,也可以使用 break语句来实现退出循环。

  var b = true;

  int i = 0;
	// 当 b == false 时, while 循环停止执行
  while (b) {
    i++;
    if (i == 15) {
      // b = false;
      break;
    }
    print(i);
  }

6、continue语句

continue语句跳过当前迭代中的后续语句,并将控制权带回循环的开头。

  var lists = [1,2,3,4,5,6,7,8];

  for (var i in lists) {
    if(i == 5){
    	// 跳过当前循环,执行下一次循环
      continue;
    }
    print(i);
  }

  // 打印结果: 1 2 3 4 6 7 8  只有 5没有打印输出
7、使用标签来控制流程

标签只是一个标识符,后跟冒号(:)应用于语句或代码块。标签可以与断点一起使用,并继续更精确地控制流程。

continuebreak语句与其标签名称之间不允许换行。此外,标签名称和关联循环之间不应该有任何其他语句。

示例: 带有break的标签

  for (var i = 0; i < 4; i++) {
    a:
    for (var j = 0; j < 5; j++) {
      if (j>3) {
        break;
      }
      // 当 i==2 时,执行break语句
      if (i == 2) {
        break a;
      }
      print('i:'+i.toString()+'==='+'j:'+j.toString());
    }
  }

示例: 带有continue的标签

  for (var i = 0; i < 4; i++) {
    a:
    for (var j = 0; j < 5; j++) {
      if (j>3) {
        break;
      }
      // 当 i==2 时,执行continue语句
      if (i == 2) {
        continue a;
      }
      print('i:'+i.toString()+'==='+'j:'+j.toString());
    }
    
  }
点赞