Swift Academy · レッスン

break、continue、ラベル付き文

Swiftでbreak、continue、ラベル付きループを使ってループの流れを制御します。

レッスン 4/412 ステップ

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

はじめに

`break`と`continue`を使うと、ループの実行を細かく制御できます。ラベル付き文を使えば、ネストしたループにもこの機能を適用できます。それぞれをいつ使うべきか学びましょう。

break — ループを早期終了する

`break`は現在のループを直ちに終了します: ```swift for i in 1...10 { if i == 5 { break } print(i) } // 1, 2, 3, 4 ``` 実行は、ループの直後にある最初の文から続行されます。

continue — 現在の反復をスキップする

`continue`は現在の反復の残りをスキップし、次の反復に移ります: ```swift for i in 1...10 { if i % 2 == 0 { continue } print(i) } // 1, 3, 5, 7, 9 ``` 無効な要素や不要な要素をスキップする場合に便利です。

whileループでのbreak

`break`は`while`ループでも同じように機能します: ```swift var n = 0 while true { n += 1 if n >= 5 { break } } print(n) // 5 ``` これは、イベントループを`while true / break`で終了する、Swiftで慣用的なパターンです。

switchでのbreak — 明示的な何もしない処理

Swiftでは、空の`switch`ケースはコンパイルエラーになります。何もしないことを明示するには`break`を使用します: ```swift switch value { case .ignored: break // intentionally no action default: process(value) } ```

ラベル付きループ

識別子の後にコロンを付けると、ループにラベルを付けられます: ```swift outerLoop: for row in 0..<3 { for col in 0..<3 { if row == 1 && col == 1 { break outerLoop } print("(\(row),\(col))") } } ``` `break outerLoop`は、*外側の*ループ全体を終了します。

ラベル付きcontinue

`continue`でもラベルを使用でき、次の外側の反復へスキップできます: ```swift outerLoop: for row in 0..<3 { for col in 0..<3 { if col == 1 { continue outerLoop } print("(\(row),\(col))") } } // skips rest of inner loop when col reaches 1 ```

whereとbreakの組み合わせ

可能な場合は、`where`節を使って明示的な`break`を避けます: ```swift // Less idiomatic: for n in 1...100 { if n > 10 { break } print(n) } // More idiomatic: for n in (1...100).prefix(10) { print(n) } ``` 読みやすい場合は、命令型のbreakよりも関数型の代替手段を優先してください。

早期returnとbreakの比較

関数内では、`return`によってループと関数の両方を終了できます: ```swift func findFirst(_ target: Int, in array: [Int]) -> Int? { for element in array { if element == target { return element } } return nil } ``` 多くの場合、`break`を使って結果を格納する変数を管理するよりもすっきりします。

first(where:)でbreakを避ける

手作業で`break`を使う多くのパターンは、コレクションのメソッドに置き換えられます: ```swift // break version: var found: Int? for n in numbers { if n > 10 { found = n; break } } // idiomatic: let found = numbers.first { $0 > 10 } ``` 関数型の書き方は短く、意図を直接表現できます。

確認問題

**現在の**反復をスキップして次へ進む文はどれですか?

まとめ

重要なポイント: • `break` — ループを直ちに終了 • `continue` — 次の反復へスキップ • ラベル付きループ(`label:`)を使うと、`break`や`continue`の対象に外側のループを指定できる • 空のswitchケースには明示的な`break`が必要 • 可能な場合は、手作業のbreakよりも関数型の代替手段(`first(where:)`、`prefix`)を優先 次は、関数の引数ラベルとパラメータ名について学びます。
無料で開始

AI チューターと学ぶ Swift — 無料

ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。

コース
122
レッスン
409

よくある質問

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

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

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

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

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

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

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

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

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

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

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

  1. 範囲を使ったfor-inループ
  2. whileとrepeat-whileループ
  3. for-inでコレクションを反復処理する
  4. break、continue、ラベル付き文
← Swift Academyに戻る