Dart-programming-loops

提供:Dev Guides
移動先:案内検索

Dartプログラミング-ループ

時々、特定の命令は繰り返し実行する必要があります。 ループは同じことを行う理想的な方法です。 ループは、繰り返す必要がある一連の命令を表します。 ループのコンテキストでは、繰り返しは*反復*と呼ばれます。

次の図は、ループの分類を示しています-

ループの分類

確定ループで議論を始めましょう。 反復回数が確定/固定されているループは、*確定ループ*と呼ばれます。

Sr.No Loop & Description
1

for loop

  • for* ループは、確定ループの実装です。 forループは、指定された回数だけコードブロックを実行します。 配列などの値の固定セットを反復処理するために使用できます
2

for…in Loop

for …​ inループは、オブジェクトのプロパティをループするために使用されます。

次に、不定ループについて説明します。 不定ループは、ループ内の反復回数が不確定または不明な場合に使用されます。 を使用して無限ループを実装することができます-

Sr.No Loop & Description
1

while Loop

whileループは、指定された条件がtrueと評価されるたびに命令を実行します。 言い換えると、ループはコードブロックが実行される前に条件を評価します。

2

do…while Loop

do …​ whileループは、do …​ whileループがループの最初の実行時に条件を評価しないことを除いて、whileループに似ています。

次に、Dartの Loop Control Statements について説明します。

Sr.No Control Statement & Description
1

break Statement

  • break* ステートメントは、構造から制御を取り出すために使用されます。 ループ内で *break* を使用すると、プログラムはループを終了します。 以下は *break* ステートメントの例です。
2

continue Statement

  • continue* ステートメントは、現在の反復で後続のステートメントをスキップし、制御をループの先頭に戻します。

ラベルを使用してフローを制御する

ラベル*は、ステートメントまたはコードブロックに適用されるコロン(:)が後に続く単なる識別子です。 ラベルを *break および continue とともに使用して、フローをより正確に制御できます。

*'continue'* または *'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}");
      }
   }
}

上記のコードが正常に実行されると、次の output が表示されます。

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

例:継続のラベル

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