Swiftの制御構造とは?初心者でもわかる条件分岐と繰り返しの基本
生徒
「Swiftのコードを見ていたら、ifとかforとか出てきたんですけど、これは何ですか?」
先生
「それは『制御構造』と呼ばれるもので、プログラムの流れをコントロールするための仕組みです。とても大事な考え方なので一緒に覚えていきましょう。」
生徒
「どんなふうに使えばいいんですか?毎回使うんですか?」
先生
「条件によって処理を変えたいときや、同じ処理を繰り返したいときによく使いますよ。では、基本から見ていきましょう!」
1. Swiftの制御構造とは?
Swiftの制御構造(せいぎょこうぞう)とは、プログラムの実行の流れを自由にコントロールするための仕組みです。
「この条件のときだけ実行する」「何回も同じことを繰り返す」など、命令の順番を変えることができます。
Swiftの代表的な制御構造には、以下のような種類があります。
- 条件分岐:
if、else、switch - 繰り返し(ループ):
for、while、repeat-while
2. if文で条件によって処理を変える
if文は、「ある条件が正しいかどうか(条件式)をチェックして、その結果によって処理を分ける」ために使います。
let score = 85
if score >= 80 {
print("よくできました!")
} else {
print("がんばりましょう!")
}
上の例では、点数が80以上なら「よくできました!」、それ以外なら「がんばりましょう!」と表示されます。
3. else ifで複数の条件を分ける
else ifを使うと、条件をさらに細かく分けて書くことができます。
let score = 72
if score >= 90 {
print("とても優秀です!")
} else if score >= 70 {
print("まずまずですね")
} else {
print("もっと練習しましょう")
}
このように、上から順番に条件をチェックして、当てはまったところで処理が実行されます。
4. switch文で値ごとの分岐
switch文は、特定の値に応じて処理を分けたいときに使います。ifよりもすっきり書ける場合があります。
let color = "赤"
switch color {
case "赤":
print("止まれ")
case "青":
print("進め")
case "黄":
print("注意")
default:
print("不明な色です")
}
上記では、変数colorの値によって、表示する内容が変わります。
5. for文で繰り返す
for文は、決まった回数だけ同じ処理を繰り返したいときに使います。
for i in 1...5 {
print("\(i)回目の処理です")
}
1...5の部分は「1から5まで」の範囲を表しています。この場合、printが5回実行されます。
6. while文で条件が合う間くり返す
while文は、「条件が正しい間だけ」処理を繰り返します。何回繰り返すかが決まっていないときに使います。
var count = 0
while count < 3 {
print("カウント:\(count)")
count += 1
}
count += 1は、countの数字を1ずつ増やす命令です。もしこれを書き忘れると、無限ループになります。
7. repeat-while文で1回は必ず実行
repeat-whileは、最初に1回処理を行い、その後で条件をチェックします。
var num = 0
repeat {
print("数値は\(num)")
num += 1
} while num < 2
repeatで始まり、最後にwhileを書くのが特徴です。最低1回は必ず処理が行われます。
8. 条件の書き方の注意点
条件を書くときは、以下のような点に注意しましょう。
- 条件式は「==」で比較:イコール2つが「等しいかどうか」の意味
- 「=」は代入:右の値を左に入れる
- 波かっこ { } を使って処理を囲む:ブロックの始まりと終わりを表します
間違いやすい部分なので、コードを書くときには注意しましょう。
まとめ
Swiftの制御構造は、条件によって処理を分岐させたり、同じ動作を繰り返したりと、プログラムの流れを自在に扱うためのとても重要な要素です。今回の記事では、if文やelse if文による細かな条件分岐、switch文を使った値ごとの処理分け、for文・while文・repeat-while文による繰り返し処理など、Swift初心者がまず理解しておくべき基本的な制御構造をひとつずつ解説しました。これらはアプリ開発の基礎であり、どのようなシステムを作るときにも必ず登場するものです。そのため、早い段階で慣れておくと後の学習がとてもスムーズになります。
例えば、if文では条件式が真かどうかによって実行される処理が変わり、else ifを重ねることで細かな判定が可能になります。またswitch文は複数の値を分岐するときにコードをすっきり書ける便利な仕組みです。繰り返し処理では、for文が回数が決まっているときに向いており、while文は条件が満たされている間だけ続ける動作に使われます。そしてrepeat-while文では一度必ず処理が実行されるため、入力チェックや最低実行回数が必要な場面でとても役立ちます。こうした違いを理解することで、Swiftでのプログラム設計がより柔軟になり、効率のよい書き方ができるようになります。
さらに、条件式を書くときの「==」と「=」の違い、ブロックを囲む波かっこ{ }の使い方など、基本的な構文のルールを正しく理解しておくことも大切です。条件式の書き間違いや波かっこの閉じ忘れは初心者がつまずきやすい部分ですが、意識して書いていくうちに自然と身につきます。実際に手を動かしてコードを書き、記事のサンプルプログラムのように自分の環境で動かしてみることで、理解はさらに深まります。
サンプルプログラムで今回の内容をおさらい
Swiftの制御構造をまとめて確認できるサンプルコードを用意しました。
// 条件分岐とループのおさらいコード
let level = 3
if level == 1 {
print("ビギナー")
} else if level == 2 {
print("ミドル")
} else {
print("エキスパート")
}
for n in 1...3 {
print("挑戦回数:\(n)")
}
var count = 0
while count < 2 {
print("カウント:\(count)")
count += 1
}
var number = 0
repeat {
print("必ず一回実行される処理:\(number)")
number += 1
} while number < 1
このように、条件分岐と繰り返し処理を組み合わせることで、多くのパターンに対応した柔軟なプログラムを書くことができます。アプリの画面切り替え、スコアの判定、ユーザー入力チェックなど、あらゆる場面で制御構造は重要な役割を果たすため、練習を重ねながら自然に扱えるようになることが理想的です。
生徒
「今日の内容で、Swiftの条件分岐と繰り返しがどんな場面で役立つのか分かってきた気がします!」
先生
「そうですね。制御構造はコードを書くうえで必ず使いますし、処理を整理する力にもつながりますよ。」
生徒
「特にswitch文がすっきりしていて使いやすそうだと思いました。状況に応じて書き分けられたら便利ですね。」
先生
「その通りです。if文だけで書こうとすると読みづらくなる場面でも、switch文なら見やすく整理できます。for文やwhile文も、慣れれば自然に使い分けられるようになりますよ。」
生徒
「repeat-while文が必ず1回実行されるというのも覚えておきます!実際に自分でもコードを書いて試してみます。」
先生
「とても良いですね。何度も触って理解することが上達の近道です。これからも一緒に頑張っていきましょう!」