Dart 程式設計 - 迴圈



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

下圖說明了迴圈的分類 -

Classification Of Loops

讓我們從確定迴圈開始討論。迭代次數確定/固定的迴圈稱為確定迴圈

序號 迴圈和描述
1 for 迴圈

for 迴圈是確定迴圈的一種實現。for 迴圈執行程式碼塊指定的次數。它可以用於迭代一組固定的值,例如陣列

2 for...in 迴圈

for...in 迴圈用於迴圈遍歷物件的屬性。

接下來,讓我們討論不確定迴圈。當迴圈中的迭代次數不確定或未知時,使用不確定迴圈。不確定迴圈可以使用 - 實現。

序號 迴圈和描述
1 while 迴圈

while 迴圈每次指定的條件計算結果為真時都執行指令。換句話說,迴圈在執行程式碼塊之前評估條件。

2 do…while 迴圈

do…while 迴圈類似於 while 迴圈,只是 do...while 迴圈在第一次執行迴圈時不評估條件。

現在讓我們繼續討論 Dart 的迴圈控制語句

序號 控制語句和描述
1 break 語句

break 語句用於將控制權從結構中取出。在迴圈中使用break 會導致程式退出迴圈。以下是break 語句的示例。

2 continue 語句

continue 語句跳過當前迭代中的後續語句,並將控制權返回到迴圈的開頭。

使用標籤控制流程

標籤只是後跟冒號 (:) 的識別符號,應用於語句或程式碼塊。標籤可以與breakcontinue 一起使用,以更精確地控制流程。

‘continue’‘break’ 語句與其標籤名稱之間不允許換行符。此外,標籤名稱與其關聯的迴圈之間也不應有任何其他語句。

示例:帶 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 
廣告

© . All rights reserved.