Kotlinで条件分岐をきれいに書く方法を完全解説!初心者でも読みやすいif文・when式の使い方
生徒
「Kotlinで条件分岐のコードを書くとき、なんだかゴチャゴチャして見づらいんですけど、何か良い書き方ありますか?」
先生
「それは大切な視点ですね。Kotlinにはif文やwhen式を使った、すっきりと見やすい条件分岐の書き方がありますよ。」
生徒
「できるだけ短くて読みやすく書きたいです!」
先生
「では、Kotlinで条件分岐をきれいに書くコツを順番に解説していきましょう。」
1. 条件分岐とは?
条件分岐(じょうけんぶんき)とは、「もし〜なら〜する、そうでなければ〜する」といった判断のことです。
Kotlinではif文とwhen式がよく使われます。どちらも、状況に応じてコードの動きを変えるために使います。
2. if文の基本の書き方
if文は、「ある条件が正しいかどうか」を判断して、処理を分けます。
fun main() {
val age = 18
if (age >= 20) {
println("おとなです")
} else {
println("未成年です")
}
}
未成年です
ifに続く条件がtrue(正しい)なら上の処理、そうでなければelseの処理が実行されます。
3. if文のネストは避けよう
条件をたくさん書くと、ネスト(入れ子)が深くなって読みづらくなります。
if (x > 0) {
if (x < 100) {
if (x % 2 == 0) {
println("条件に合致")
}
}
}
このようなコードは初心者にはとても見にくいです。
そこで、and(かつ)の条件を使って1行にまとめましょう。
if (x > 0 && x < 100 && x % 2 == 0) {
println("条件に合致")
}
このようにif文をコンパクトに書くことで、コード全体が読みやすくなります。
4. Kotlinのifは「式」としても使える
Kotlinでは、ifは「文」だけでなく「式(しき)」としても使えます。
つまり、ifの結果をそのまま変数に代入できるのです。
val result = if (age >= 20) "おとな" else "こども"
println(result)
こども
1行で条件分岐できるので、短くてわかりやすいコードになります。
5. when式を使って条件分岐をきれいに
複数の選択肢があるときは、when式を使うとスッキリ書けます。
val day = "月曜日"
val type = when (day) {
"土曜日", "日曜日" -> "休日"
"月曜日", "火曜日", "水曜日", "木曜日", "金曜日" -> "平日"
else -> "不明"
}
println(type)
平日
when式は「この値のときはこうする」という条件分岐にとても適しています。switch文の進化版のような存在です。
6. when式は式としても使える
whenもまた、Kotlinでは「式」として値を返せるので、変数に直接代入できます。
val score = 75
val grade = when {
score >= 90 -> "A"
score >= 70 -> "B"
score >= 50 -> "C"
else -> "D"
}
println(grade)
B
このように、条件を上から順に評価して、最初に合致したものの処理が実行されます。
7. Kotlinで条件分岐を読みやすく書くポイント
- if文が長くなりすぎないようにする
- ネストを避けて1行でまとめる工夫をする
- ifやwhenは「式」として使ってコードを短くする
- 複数の値を比較したいときはwhen式を使う
Kotlinはとても読みやすく、書きやすい言語です。if文やwhen式を正しく使うことで、コードを簡潔に、そして見やすく書くことができます。
まとめ
Kotlinで条件分岐をきれいに書くためには、if文やwhen式の特徴を正しく理解し、読み手が迷わずに処理の流れを追えるように整理された書き方を意識することがとても大切です。特に、初心者がつまずきやすい部分として「ネストが深くなりすぎて見えにくい」「同じ条件が何度も出てきてしまう」「複雑な条件が長く並んでしまう」といった点があります。これらの問題はKotlinの書き方を少し工夫するだけで驚くほど改善されます。Kotlinが提供するif式やwhen式は、条件分岐をただの判断ではなく、値として使うことができるため、コードを短く保ちながら表現を明確にできます。 例えば、if文は単純な条件に向いており、短い判断なら1行でまとめることで視認性が上がります。また、複雑な判断はand条件を使うことでネストを解消でき、可読性が高まります。反対に、選択肢が多くなるとif文では把握しづらくなるため、when式に切り替えることで整理された条件分岐を表現できます。when式は値の一致だけでなく、範囲や条件式も書けるため、多くの場面で使いやすく、初心者にとっても扱いやすい特徴があります。 条件を式として扱えるため、変数にそのまま代入できる点もKotlinの魅力です。これは、処理の分岐を単純化し、コード全体の流れを自然に読み取れるようにしてくれます。また、コードが自然と整理されるため、プログラムの修正や追加が必要になったときにも、迷わずに対象箇所を追えるようになります。 さらに、日常的な開発の中では「読みやすさ」「簡潔さ」「保守のしやすさ」が非常に重要です。Kotlinが用意する柔軟な書き方を活かすことで、これらすべてをバランスよく満たすことができます。条件分岐は小さな構文に見えるかもしれませんが、アプリケーションの中で頻繁に使われるため、基本をしっかり押さえておくだけで開発の効率が一段と高まります。 ここでは、実際に使える条件分岐のサンプルをふり返りとしてもうひとつ紹介しておきます。以前学んだ内容と同じように、読みやすさを意識した例を確認しながら、自分のコードでも使える形にしていきましょう。
ふり返り用サンプルプログラム
fun checkUserStatus(age: Int, day: String): String {
val status = if (age >= 20) "おとな" else "みせいねん"
val type = when (day) {
"土曜日", "日曜日" -> "休日"
"月曜日", "火曜日", "水曜日", "木曜日", "金曜日" -> "平日"
else -> "不明"
}
return "$status / $type"
}
fun main() {
println(checkUserStatus(25, "水曜日"))
}
このサンプルでは、if式とwhen式を同時に使いながら、値を分岐させて結果を返す流れを自然にまとめています。Kotlinらしい表現であり、読み手に優しい構造になっています。条件ごとに役割を分け、それぞれの処理が直感的に理解できるように整理しているため、初心者でも迷わず読み進められます。条件分岐は一見シンプルに見えますが、使い方を工夫することでアプリケーション全体の読みやすさを大きく左右する重要な要素です。ぜひこの機会に基本をしっかり押さえ、自分のプログラムに活かしてみてください。
生徒
「if文とwhen式って、こんなに読みやすく整理できるんですね。前よりずっと理解しやすくなりました。」
先生
「そうですね。特にKotlinでは条件分岐を式として扱えるので、短くまとめる場面が多いですよ。読みやすさがそのままバグの減少にもつながります。」
生徒
「ネストが深い書き方は確かに見づらかったけど、今回のようにand条件を使うとすごくスッキリしますね。他のコードでも活かせそうです!」
先生
「その調子です。when式もとても便利なので、選択肢が多い場面で自然に使えるようになるとさらにレベルアップできますよ。これからの開発でも積極的に使ってみてください。」
生徒
「わかりました!今日学んだ書き方を忘れずに、もっと読みやすいKotlinコードを書けるように練習します!」