カテゴリ: Swift 更新日: 2026/03/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を基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

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

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

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

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

Swiftで繰り返し処理を行うには、for文やforEachを使うのが一般的です。処理を何度も繰り返したいときに便利な構文で、アプリ開発では非常によく使われます。

Swiftのfor文って何に使うの?

Swiftのfor文は、決まった回数だけ処理を繰り返したいときに使います。たとえば、1から5までの数字を順番に表示したい場合などに便利です。
関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.6
Java&Spring記事人気No6
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.7
Java&Spring記事人気No7
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.8
Java&Spring記事人気No8
Kotlin
Kotlinのログ出力方法を完全ガイド!LogcatとTimberでトラブルシューティング