カテゴリ: Swift 更新日: 2025/12/16

Swiftのfor文とforEachを完全ガイド!初心者でもわかる繰り返し処理の基本と活用方法

Swift for文・foreachの基本と活用方法
Swift for文・foreachの基本と活用方法

先生と生徒の会話形式で理解しよう

生徒

「Swiftで何回も同じ処理をしたいときって、どうやって書けばいいんですか?」

先生

「そのような繰り返し処理にはfor文forEachというものを使うんですよ。」

生徒

「名前は聞いたことあるけど、使い方はよくわからなくて……。」

先生

「では、基本的な使い方から順番に見ていきましょう!」

1. for文とは?

1. for文とは?
1. for文とは?

for文(フォーぶん)は、Swiftで決まった回数だけ何かを繰り返したいときに使います。たとえば「数字を1から5まで順番に表示したい」といったときに便利です。

繰り返し処理とは、同じような動作を何度も自動で行うことです。人間が同じことを何度も書かなくて済むので、プログラムを効率よく作ることができます。

2. Swiftのfor-in文の基本構文

2. Swiftのfor-in文の基本構文
2. Swiftのfor-in文の基本構文

Swiftで一番よく使われるのは、for-in文です。以下は1から5までの数字を繰り返して表示する例です。


for i in 1...5 {
    print(i)
}

1...5は「1から5まで」という範囲を表しています。iという変数に1から順番に値が入って、print(i)でその値が表示されます。

3. 配列をfor文で繰り返す

3. 配列をfor文で繰り返す
3. 配列をfor文で繰り返す

Array(配列:複数のデータをまとめたもの)を繰り返すときもfor-in文が使えます。


let fruits = ["りんご", "バナナ", "ぶどう"]

for fruit in fruits {
    print(fruit)
}

このように、配列の中身を1つずつ取り出して表示できます。fruitには、順番に"りんご""バナナ""ぶどう"が入ります。

4. インデックス付きで繰り返す

4. インデックス付きで繰り返す
4. インデックス付きで繰り返す

配列を繰り返すときに、何番目か(インデックス)も一緒に知りたいときはenumerated()を使います。


let animals = ["犬", "猫", "鳥"]

for (index, animal) in animals.enumerated() {
    print("\(index)番目は\(animal)です")
}

indexには順番の番号が入り、animalにはデータが入ります。

5. forEachの使い方

5. forEachの使い方
5. forEachの使い方

forEach(フォーイーチ)は、配列などに使える繰り返し処理です。for-inとほぼ同じことができますが、関数のように使うのが特徴です。


let colors = ["赤", "青", "緑"]

colors.forEach { color in
    print("色は\(color)です")
}

{ color in }の部分が、1つずつ色を取り出す処理です。

6. for文とforEachの違い

6. for文とforEachの違い
6. for文とforEachの違い

for-inforEachの違いを比べてみましょう。

  • for-in文:中でbreak(途中で止める)やcontinue(スキップ)を使える
  • forEach:breakcontinueは使えない
  • 可読性(読みやすさ)はどちらも高いが、for-inのほうが柔軟性がある

途中で処理を止めたい場合はfor-inを使うのがオススメです。

7. breakとcontinueの使い方

7. breakとcontinueの使い方
7. breakとcontinueの使い方

breakは繰り返しを途中で終わらせる命令、continueはその回だけスキップして次に進む命令です。


for i in 1...5 {
    if i == 3 {
        continue
    }
    print(i)
}

この例では「3」のときだけprintがスキップされて、「1」「2」「4」「5」が表示されます。

8. 繰り返しを使う場面の具体例

8. 繰り返しを使う場面の具体例
8. 繰り返しを使う場面の具体例

繰り返し処理は、ゲームでスコアを計算したり、買い物リストを画面に表示したり、ユーザーの入力をチェックしたりと、実に多くの場面で使われます。

「決まった回数だけ処理したい」「配列の中の全てのデータを使いたい」などのときに、Swiftのfor文forEachは大活躍します。

まとめ

まとめ
まとめ

Swiftの繰り返し処理であるfor文やforEachは、日常のあらゆるアプリ開発において欠かせない基礎的な構文であり、配列を順番に処理したり特定の回数だけ動作を実行したりする場面で非常に重要な役割を果たします。特に初心者が最初につまずきやすいのは、どの処理をどの構文で書くべきかという判断であり、for文とforEachの違いを明確に理解しておくことは、Swiftのプログラミングを効率よく進めるために大切です。for-in文は古くから使われている書き方で、実際の処理の流れがつかみやすい構文のため、読みやすく柔軟な記述ができる点が大きな特徴です。とくにbreakやcontinueを使って途中で処理を止めたり、一部だけスキップしたりする制御が可能なため、複雑なロジックが必要な場面ではfor-in文が非常に役立ちます。 一方で、forEachはより関数的な書き方ができる構文であり、配列やコレクション操作を直観的に記述でき、コード全体の見通しを良くする効果があります。クロージャを使って要素ごとの処理を書くため、より簡潔で装飾の少ない表現になり、特定の値を順番に処理したい場面では非常に読みやすいコードになります。ただしforEachはbreakやcontinueを使えないという制限があるため、「途中で止めたい」という要件がある場合には向きません。この違いを理解したうえで、用途に応じた繰り返し処理を選べるようになることは、Swiftを使ううえで大きな成長につながります。 また、配列を扱う際にはenumerated()を使ってインデックスと要素を同時に取り出す方法もあり、画面表示やリストの番号付けなど実際のアプリ開発で頻繁に使われます。繰り返し処理はロジックの効率化だけでなく、画面表示やイベント処理などにも幅広く応用できるため、しっかりと身につけておくことが重要です。以下のサンプルプログラムでは、for-in文、enumerated()、forEachを組み合わせた応用例を掲載しているので、今回の学習内容を整理しつつ実際のコードとして利用できる形で確認することができます。

サンプルプログラム:for文とforEachを使った商品リスト処理


let items = ["りんご", "バナナ", "ぶどう", "みかん", "もも"]

// for-in文:インデックスなしの基本的な繰り返し
for item in items {
    print("商品名: \(item)")
}

// enumerated(): インデックス付きの繰り返し
for (index, item) in items.enumerated() {
    print("\(index)番目の商品は\(item)です")
}

// forEach:関数的な繰り返し処理
items.forEach { item in
    print("在庫チェック中: \(item)")
}

応用例:breakやcontinueを使った条件付き繰り返し


for item in items {
    if item == "ぶどう" {
        print("ぶどうは今回の対象外のためスキップします")
        continue
    }
    if item == "みかん" {
        print("みかんが見つかったため処理を終了します")
        break
    }
    print("現在処理中の商品: \(item)")
}

このように、for文とforEachを適切に使い分けることで、データの一覧処理や条件分岐を含む複雑な動作も効率よく安全に実装できます。繰り返し処理は学べば学ぶほど表現の幅が広がり、アプリ開発の自由度が高まる基礎技術なので、実際のプロジェクトで積極的に試して少しずつ慣れていくことが大切です。

先生と生徒の振り返り会話

生徒

「今日のまとめを読んで、for文とforEachの違いがようやくはっきりとわかりました!同じように繰り返しをする構文なのに、使える場面が違うんですね。」

先生

「その通りです。特にbreakやcontinueを使うかどうかで大きく使い分けが決まりますし、可読性を重視したい場合はforEachがとても便利ですよ。」

生徒

「enumerated()を使うと番号も手に入るのは知りませんでした。リスト表示のときにすごく役立ちそうです!」

先生

「アプリ開発では、番号付きの一覧や順番を意識した処理は本当によく出てきますからね。基礎を押さえておくと応用が一気に楽になりますよ。」

生徒

「はい!次は実際に自分の作っているアプリでも使ってみます。for文もforEachも、自然に選べるようになるまで練習してみます!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Swiftで繰り返し処理をするには何を使えばいいですか?

Swiftで繰り返し処理を行うには、for文やforEachを使うのが一般的です。処理を何度も繰り返したいときに便利な構文で、アプリ開発では非常によく使われます。
カテゴリの一覧へ
新着記事
New1
Kotlin
Kotlinのforループの基本!範囲・配列・コレクションの繰り返し処理
New2
Go言語
Go言語のスライスでappend時のメモリの仕組みを理解しよう!初心者でもわかる基礎解説
New3
Go言語
Go言語のスコープとは?ローカル変数・グローバル変数の違いと使い分け
New4
Go言語
Go言語のhttp.ResponseWriterとhttp.Requestの仕組みを理解しよう
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語の関数パラメータ!値渡しと参照渡しの違いを理解しよう
No.2
Java&Spring記事人気No2
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.3
Java&Spring記事人気No3
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.4
Java&Spring記事人気No4
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説
No.5
Java&Spring記事人気No5
Swift
Swiftで数値と文字列を相互変換!NumberFormatterで桁区切りや通貨表示をわかりやすく解説
No.6
Java&Spring記事人気No6
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.7
Java&Spring記事人気No7
Kotlin
Kotlinで画面遷移を実装しよう!初心者でもわかるIntentの使い方完全ガイド
No.8
Java&Spring記事人気No8
Swift
SwiftPMでのバージョン指定と互換性の考え方を初心者向けに徹底解説