0Pricing
Dart Academy · レッスン

break、continue、ラベル

ループの流れを正確に制御する

「break、continue、ラベル」はCoddyKit上の無料Dart Academyレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDart Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Dart Academyコースには全4レッスンが含まれています。

ループを制御する

早く停止したり、1回分の処理をスキップしたりしたいことがあります。Dartでは、ループの内部からbreakとcontinueを使ってループを制御できます。🕹️

breakを使ってみる

break文はループを直ちに停止し、その直後のコードへ移動します。以降の処理は実行されません。

for (var i = 0; i < 10; i++) {
  if (i == 3) break;
  print(i);
}

一致したら停止する

breakの一般的な用途は検索です。リストを順に処理し、目的のものを見つけた瞬間にstopすることで、不要な処理を省けます。

for (var n in nums) {
  if (n == target) break;
}

continueを使ってみる

continue文は現在の処理の残りをスキップし、ループの次の反復へ直接移動します。

for (var i = 0; i < 5; i++) {
  if (i == 2) continue;
  print(i);
}

continueでフィルタリングする

continueを使うと、関心のない項目をskipできます。たとえば奇数を無視し、偶数だけを処理できます。

for (var n in nums) {
  if (n.isOdd) continue;
  print(n);
}

breakとcontinueの比較

違いを整理しましょう。breakはループ全体を終了しますが、continueは現在の処理だけを終了して次へ進みます。

内側のループに作用する

デフォルトでは、breakとcontinueはnearestな外側のループにのみ作用します。内側のループからこの方法で外側のループを停止することはできません。

for (var i = 0; i < 2; i++) {
  for (var j = 0; j < 5; j++) {
    if (j == 1) break; // inner only
  }
}

ラベルがある理由

ネストしたループの内側から外側のループを制御するには、labelを付けます。ループの前に名前とコロンを記述します。

outer:
for (var i = 0; i < 3; i++) {
  // ...
}

ラベル付きbreak

breakとlabelを一緒に書くと、ネストした内側のループの深い位置からでも、指定した名前のループ全体を終了できます。

outer:
for (var i = 0; i < 3; i++) {
  for (var j = 0; j < 3; j++) {
    if (j == 1) break outer;
  }
}

ラベル付きcontinue

ラベル付きcontinueは、指定した外側のループの次の処理へ移動します。内側と外側の本体の残りをスキップします。

outer:
for (var i = 0; i < 3; i++) {
  for (var j = 0; j < 3; j++) {
    if (j == 1) continue outer;
  }
}

ラベルは慎重に使う

ラベルは強力ですが、readabilityを損なうことがあります。ネストしたループでのみ使用し、可能ならヘルパー関数を優先してください。

クイックチェック

ループ内でcontinueに到達すると、次に何が起こりますか?

まとめ

ループを制御する方法を学びました。breakは停止し、continueはスキップします。また、ラベルを使うと、ネストしたループから外側のループを指定できます。🎯

よくある質問

「break、continue、ラベル」レッスンは無料ですか?

はい。「break、continue、ラベル」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Dart Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Dart Academyコースには全4レッスンが含まれています。

「break、continue、ラベル」で何を学びますか?

ループの流れを正確に制御する ブラウザで直接実行するハンズオンコードでDart Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Dart Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDart Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。

「break、continue、ラベル」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDart Academyレッスンでコードを書いて実行できますか?

はい。すべてのDart Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 定番のforループ
  2. whileとdo-whileループ
  3. コレクションに対するfor-in
  4. break、continue、ラベル
← Dart Academyに戻る