Kotlinの制御構造まとめ!初心者が覚えるべきポイント
生徒
「Kotlinって条件分岐や繰り返しってどうやって書くんですか?」
先生
「Kotlinでは、if文やwhen式、forループ、whileループなどの制御構造が使えますよ。」
生徒
「それぞれどういうときに使えばいいんですか?」
先生
「じゃあ今回は、Kotlinの基本的な制御構造について一つずつ見ていきましょう!」
1. if文による条件分岐
Kotlinで最も基本的な条件分岐はif文です。ある条件が「真(true)」のときにだけ、特定の処理を実行できます。
fun main() {
val age = 18
if (age >= 18) {
println("成人です")
}
}
この例では、変数ageの値が18以上かを調べて、条件を満たすと「成人です」と表示されます。
2. else文とelse if文
if文にはelse文を組み合わせて「それ以外」の処理も書けます。また、else ifで条件をさらに追加できます。
fun main() {
val score = 75
if (score >= 90) {
println("とてもよくできました")
} else if (score >= 60) {
println("合格です")
} else {
println("もっと頑張りましょう")
}
}
このように、点数によって出力するメッセージを変えることができます。
3. when式で複雑な分岐を簡単に
複数の条件に応じて処理を分けたいときは、when式を使うと便利です。Javaのswitch文に似ていますが、より柔軟です。
fun main() {
val day = 3
when (day) {
1 -> println("月曜日")
2 -> println("火曜日")
3 -> println("水曜日")
else -> println("他の曜日")
}
}
when式は条件ごとに矢印(->)で処理を指定できます。
4. for文で繰り返し処理
for文は、決められた回数だけ繰り返し処理を行いたいときに使います。たとえば1から5まで数えるときは以下のように書きます。
fun main() {
for (i in 1..5) {
println(i)
}
}
1..5は「1から5まで」という範囲を意味します。
5. while文とdo-while文
while文は、条件が「真(true)」の間ずっと処理を繰り返します。do-while文は、最初に1回必ず実行される点が違います。
fun main() {
var i = 1
while (i <= 3) {
println("while: $i")
i++
}
var j = 1
do {
println("do-while: $j")
j++
} while (j <= 3)
}
whileは最初に条件を見てから実行、do-whileはとにかく1回実行してから条件を確認します。
6. 制御構造の使いどころの例え
たとえば家でテレビを見るか勉強するかを決めるとき、「晴れの日はテレビを見る、雨なら勉強する」と考えると、それがif文です。「曜日によって予定が変わる」と考えればwhen式です。「筋トレを10回繰り返す」のがfor文、「筋トレを疲れるまで続ける」のがwhile文です。
Kotlinの制御構造は、日常生活の考え方に近く、慣れるととても自然に使えるようになります。
まとめ
Kotlinの制御構造を振り返ってみると、ひとつひとつの書き方はとても落ち着いた形で整理されており、決してむずかしいものではありませんでした。初心者が最初につまずきやすいのは、条件分岐や繰り返しが思ったよりも種類があるという点ですが、実際には目的に合わせて素直に選ぶだけで、コードがきれいにまとまります。もし数字の比較だけならif文、複数の選択肢を切り替えるならwhen式、回数を決めて何度も繰り返すならfor文、条件が成り立つあいだ続けたいならwhile文。このように、日常の考え方と同じように選べるため、覚えたあとは自然に使えるようになっていきます。
とくに初心者が安心できるポイントは、Kotlinの制御構造がとても読みやすいというところです。たとえばif文はシンプルな形から始められますし、文字列や数字を見比べながら分岐する書き方も、長い条件を並べる必要なくまとめることができます。else ifとelseを重ねることで、上から順番にふるい落としていくように考えられるので、複雑な条件が並んでいても目で追いやすい形になります。ひとつずつ試しながら書き換えるだけでも、コードを眺める時間がぐっと楽になります。
また、Kotlinではwhen式が大きな助けになります。曜日、点数、メッセージの内容、色の名前など、さまざまな値を整理しながら分岐できるため、if文を何度も並べて迷うような場面でもすっきりまとめられます。同じ処理にまとめたい条件がいくつもあるとき、カンマで並べる書き方ができるのはKotlinの便利な特徴です。範囲を使ったり、型を調べたりするような柔軟な分岐ができるので、実用的なプログラムになればなるほど、when式の読みやすさを実感できます。
繰り返し処理でも、Kotlinは直感的で覚えやすい構造になっています。for文では1から10、1から100などの範囲をそのまま書けるので、回数が決まっているループは迷わず選べます。変数をひとつ用意してカウントアップしながら実行するという書き方より、数字の箱をそのまま渡しているような感覚で扱えるため、コードの見通しが大きく変わります。短い処理でも、長い処理でも、登場する部分がすっきりしていて気持ちよく読み進めることができます。
while文とdo-while文は、条件がいつまで続くかに注目すると使い分けやすくなります。whileは「条件が成り立つときだけ実行する」、do-whileは「とりあえず一度やってから考える」という動きなので、数を数えたり、フラグ管理をしたり、入力内容を確認するときなどに役立ちます。はじめのうちは違いがわかりにくいかもしれませんが、数回使ってみるだけで、自然と選べるようになっていきます。
制御構造の良いところは、ひとつ覚えるたびに書けるコードの幅が広がることです。たとえば、数値だけでなく文字列やリストを処理したり、画面に出す言葉を変えたり、条件を足したり引いたりしながら、より現実に近い判断ができるようになります。家事の順番を決めたり、買い物リストを整理したり、ゲームのスコアに応じてメッセージを変えるなど、小さな仕組みを考えるだけでも、制御構造がどれだけ役に立つかが実感できます。プログラムは、ただ動かすのではなく、読みやすく整理していくほど扱いやすくなっていくため、基本になるこの部分を丁寧におさえておくと、あとから大きな差になります。
さらに、Kotlinの制御構造は、初心者が抱えやすい「書き間違い」を減らしてくれる形にもなっています。if文やwhen式は波かっこを使うので、実行する範囲がはっきり見えますし、for文は数字の流れそのものを使うため、終了条件の書き忘れや、カウンター変数の更新漏れといったトラブルが起きにくくなります。while文でも、変数の増減をひとつひとつ確かめながら書けば、一行ごとにやっていることが目で追えるので、動きを頭の中で想像しやすい構造です。とくに学び始めのうちは、書いている途中で混乱しやすい部分ですが、少しずつ触れながら整理していくと、ルールの美しさが見えてきます。
簡単な練習プログラム
最後に、今回学んだ制御構造をまとめて使う小さな例を見てみましょう。点数によって成績を判定し、その結果を回数分出力するだけのシンプルなプログラムですが、if文、when式、for文が自然に組み合わさっています。
fun main() {
val score = 72
val result = if (score >= 90) {
"とてもよい成績"
} else if (score >= 60) {
"合格です"
} else {
"もうすこし頑張りましょう"
}
val comment = when (result) {
"とてもよい成績" -> "自信を持って進みましょう"
"合格です" -> "ひとつずつ積み重ねていけば大丈夫です"
else -> "ゆっくりでいいので、あせらず進めば大丈夫です"
}
for (i in 1..3) {
println("判定: $result / コメント: $comment")
}
}
このプログラムは、点数によって判定が変わり、同じ内容を複数回出力しています。短いコードの中に、条件判断と繰り返し処理が自然に溶け込んでいるので、実際のアプリケーションでもよく使われる形です。書いてみると、if文とwhen式、そしてfor文がそれぞれ役割に合わせて動いていることがよくわかるはずです。はじめはサンプルをまねしながらで構いませんが、自分の好きな数字や言葉に書き換えて遊んでみると、すぐに馴染んでいきます。
プログラミングは、仕組みを組み合わせることで小さな動きを大きな動きに育てていく作業でもあります。今回の制御構造は、たとえるなら土台の部分で、どんな処理でも必ずといっていいほど関わってきます。データを判定したり、必要なぶんだけ繰り返したり、分岐しながら処理を進めることで、アプリは思いどおりの動きをしてくれます。ここをしっかり押さえておけば、次に出てくるリスト、関数、クラスといった内容も、とても理解しやすくなります。
そして、慣れてくると、コードの読みやすさも意識できるようになります。だれが読んでも流れが分かりやすいように、条件を整理したり、範囲を使ったり、繰り返しを短く書いたりすることで、コードはより美しく育っていきます。無理にむずかしい書き方をするのではなく、素直に読みやすさを大切にしていくことが、最終的には自分自身の助けになります。じっくり時間をかけて身につけていけば、制御構造はプログラムを支える頼れる味方になってくれます。
生徒
「きょうのまとめを読んで、制御構造ってこわいものじゃないんだと思いました。if文もwhen式も、使い分けの考え方がだいぶ分かってきました。」
先生
「そうですね。むずかしそうに見えても、ひとつずつ使う場面を意識すれば、自然と手が動くようになります。とくにKotlinは書き方がすっきりしているので、慣れるととても使いやすいですよ。」
生徒
「あと、for文で範囲がそのまま書けるのが面白いです。数字が並んでいるみたいで見やすいです。」
先生
「その感じ方はとても大切です。読みやすさを意識した書き方ができると、プログラムはどんどんきれいになっていきますよ。」
生徒
「よし、次は自分で成績を判定するアプリを作ってみます!」
先生
「いいですね。小さな一歩でも積み重ねれば、必ずしっかりした形になります。ゆっくりで大丈夫ですよ。」