Kotlinで条件分岐をきれいに書く方法を完全解説!初心者でも読みやすいif文・when式の使い方
生徒
「Kotlinで条件分岐のコードを書くとき、なんだかゴチャゴチャして見づらいんですけど、何か良い書き方ありますか?」
先生
「それは大切な視点ですね。Kotlinにはif文やwhen式を使った、すっきりと見やすい条件分岐の書き方がありますよ。」
生徒
「できるだけ短くて読みやすく書きたいです!」
先生
「では、Kotlinで条件分岐をきれいに書くコツを順番に解説していきましょう。」
1. 条件分岐とは?
条件分岐(じょうけんぶんき)とは、プログラムが「今どんな状況なのか」を判断して、実行する処理を切り替える仕組みのことです。たとえば、天気が晴れなら外に出かける、雨なら家で過ごす、といった日常の判断にとても近い考え方です。
Kotlinでは代表的な条件分岐としてif文とwhen式があります。どちらも状況に応じて動きを変えられる便利な構文で、初心者がプログラミングの流れを理解するうえでも重要なポイントになります。
まずは、条件分岐がどのように役立つのか、簡単なサンプルでイメージをつかんでみましょう。
fun main() {
val weather = "晴れ"
if (weather == "晴れ") {
println("散歩に行こう!")
} else {
println("今日は家でゆっくりしよう")
}
}
散歩に行こう!
このように、条件分岐は「状況に応じて結果を変えたいとき」に欠かせない仕組みです。これから解説するif文やwhen式も、この考え方をもとに動いています。
2. if文の基本の書き方
if文は、「もし〜なら〜する」という条件分岐を一番シンプルに書くための構文です。ある条件が当てはまるかどうかをチェックして、当てはまるときだけ処理を実行したり、当てはまらないときは別の処理を行ったりできます。
まずは、年齢によってメッセージを切り替える、初心者向けの簡単なサンプルから見てみましょう。
fun main() {
val age = 18
if (age >= 20) {
println("おとなです")
} else {
println("未成年です")
}
}
未成年です
このプログラムでは、まずval age = 18で年齢を表す変数ageを用意しています。そのあとに続くif (age >= 20)の部分が「条件」です。ここでは「age が 20 以上かどうか?」という質問をしていて、結果はtrue(正しい)かfalse(正しくない)のどちらかになります。
条件がtrueのときはif { ... }の中の処理が実行され、falseのときはelse { ... }の中の処理が実行されます。今回の例ではageが18なのでage >= 20はfalseになり、「未成年です」とだけ表示されます。
fun main() {
val temperature = 30
if (temperature >= 25) {
println("今日は暑いですね")
}
}
今日は暑いですね
こちらはelseを使わないパターンのif文です。気温temperatureが25以上のときだけ「今日は暑いですね」と表示し、それ以外のときは何も表示しません。このように、条件が成り立つときだけ特定の処理を行いたい場合にも、if文はシンプルで分かりやすく使えます。
まずは「条件を書いて、その結果に応じてメッセージを切り替える」という基本の形に慣れておくと、次のステップでより複雑な条件分岐を学ぶときにもスムーズに理解しやすくなります。
3. if文のネストは避けよう
条件分岐を書いているうちに、気づいたらifの中にさらにifが入り、その中にまたif……という形になってしまうことがあります。これがネスト(入れ子)です。箱の中に箱が入っているような状態で、処理が複雑になるほど読みづらくなり、Kotlinのコード全体も見通しが悪くなってしまいます。
if (x > 0) {
if (x < 100) {
if (x % 2 == 0) {
println("条件に合致")
}
}
}
このコードは、「0より大きくて、100より小さくて、偶数である」という3つの条件をチェックしていますが、プログラミング初心者が読むと「どのifがどの条件なのか」が一目で分かりにくくなってしまいます。ネストが深くなると、波かっこ{}の対応も追いづらくなり、ちょっとした修正でもバグの原因になりやすくなります。
そこで、Kotlinの条件分岐では、できるだけネストを浅くして「1つのif文でまとめて書く」工夫をするのがおすすめです。たとえば、上の例はand(かつ)の条件を使うことで、次のように1行に整理できます。
if (x > 0 && x < 100 && x % 2 == 0) {
println("条件に合致")
}
3つの条件を1つのifにまとめることで、「xが0より大きく、100より小さく、なおかつ偶数ならメッセージを表示する」という意図が一度に読み取れるようになりました。条件分岐の内容が自然な日本語の文章として頭に入ってくるので、後から自分で読み返すときにも理解しやすくなります。
fun main() {
val score = 85
if (score >= 80 && score <= 100) {
println("よくできました")
}
}
よくできました
このサンプルでは、テストの点数scoreが80点以上100点以下のときにだけ、「よくできました」と表示しています。本来なら「80点以上か?」「100点以下か?」と2回に分けてチェックすることもできますが、条件を&&でつなげて1つのif文にすることで、Kotlinの条件分岐をすっきり書けています。
このように、if文で条件が増えてきたと感じたら、まずはネスト(入れ子)を増やすのではなく、「条件を1つにまとめられないか」を考えてみましょう。コードの読みやすさがぐっと上がり、あとでwhen式など他の書き方を学ぶときの土台にもなります。
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コードを書けるように練習します!」
Kotlinを基礎からしっかり学びたい人や、 Java経験を活かしてモダンな言語にステップアップしたい人には、 定番の入門書がこちらです。
基礎からわかるKotlinをAmazonで見る※ Amazon広告リンク
この記事を読んだ人からの質問
プログラミング初心者からのよくある疑問/質問を解決します
Kotlinで条件分岐を書くときに、読みやすいif文の書き方はありますか?
Kotlinでは、条件分岐を読みやすくするためにif文をできるだけ短く、ネストを避けて書くことが推奨されています。複数の条件をand条件でつなげることで、1行でスッキリと記述できるようになります。
Kotlinのif文でネストが深くなってしまうのを避けるにはどうすればいいですか?
if文が複数重なるとネストが深くなり、読みづらくなります。Kotlinでは、and(かつ)条件を使って1つのif文にまとめることで、ネストを解消し、見やすいコードにできます。
【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分
「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。
本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。
具体的な体験内容と環境
【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。
【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。
この60分で得られる3つの体験
プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。
「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。
Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。
※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。
Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験