Dart迴圈語句

有時某些指令需要重複執行,迴圈是一種理想的方法。迴圈表示必須重複的一組指令。在迴圈的上下文中,重複稱為迭代。

下圖說明瞭迴圈的分類 -

迴圈的分類

下麵我們首先來瞭解確定(Definite)迴圈 。迭代次數是明確/固定的迴圈稱為確定迴圈。

編號 迴圈 描述
1 for迴圈 for迴圈是一個確定迴圈的實現,用於執行代碼塊指定的次數。
2 for…in迴圈 for...in迴圈用於迴圈對象的屬性。

接下來瞭解無限迴圈。當迴圈中的迭代次數不確定或未知時使用不定迴圈。可以使用以下方式實現無限迴圈:

編號 迴圈 描述
1 while迴圈 每次指定的條件求值為true時,while迴圈都會執行指令。在執行代碼塊之前評估條件。
2 do…while迴圈 do...while迴圈類似於while迴圈,只是do...while迴圈不會在第一次迴圈執行時評估條件。

接下來學習Dart的迴圈控制語句。

編號 控制語句 描述
1 break語句 break語句用於將控件從構造中取出。在迴圈中使用break會導致程式退出迴圈。
2 continue語句 continue語句跳過當前迭代中的後續語句,並將控制權帶回迴圈的開頭。

使用標籤來控制流程

標籤只是一個識別字,後跟冒號(:)應用於語句或代碼塊。標籤可以與中斷點一起使用,並繼續更精確地控制流程。

continuebreak語句與其標籤名稱之間不允許換行。此外,標籤名稱和關聯迴圈之間不應該有任何其他語句。

示例:帶有break的標籤

void main() {
   outerloop: // This is the label name

   for (var i = 0; i < 5; i++) {
      print("Innerloop: ${i}");
      innerloop:

      for (var j = 0; j < 5; j++) {
         if (j > 3 ) break ;

         // Quit the innermost loop
         if (i == 2) break innerloop;

         // Do the same thing
         if (i == 4) break outerloop;

         // Quit the outer loop
         print("Innerloop: ${j}");
      }
   }
}

執行上述代碼後,將顯示以下輸出。

Innerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 2
Innerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Innerloop: 4

示例:帶continue的標籤

void main() {
   outerloop: // This is the label name

   for (var i = 0; i < 3; i++) {
      print("Outerloop:${i}");

      for (var j = 0; j < 5; j++) {
         if (j == 3){
            continue outerloop;
         }
         print("Innerloop:${j}");
      }
   }
}

執行上述代碼後,將顯示以下輸出。

Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2

Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2

Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2

上一篇: Dart條件決策語句 下一篇: Dart數字