カテゴリ: Kotlin 更新日: 2026/07/15

Kotlinで条件分岐をきれいに書く方法を完全解説!初心者でも読みやすいif文・when式の使い方

Kotlinで条件分岐の見やすいコードを書く方法
Kotlinで条件分岐の見やすいコードを書く方法

先生と生徒の会話形式で理解しよう

生徒

「Kotlinで条件分岐のコードを書くとき、なんだかゴチャゴチャして見づらいんですけど、何か良い書き方ありますか?」

先生

「それは大切な視点ですね。Kotlinにはif文やwhen式を使った、すっきりと見やすい条件分岐の書き方がありますよ。」

生徒

「できるだけ短くて読みやすく書きたいです!」

先生

「では、Kotlinで条件分岐をきれいに書くコツを順番に解説していきましょう。」

1. 条件分岐とは?

1. 条件分岐とは?
1. 条件分岐とは?

条件分岐(じょうけんぶんき)とは、プログラムが「今どんな状況なのか」を判断して、実行する処理を切り替える仕組みのことです。たとえば、天気が晴れなら外に出かける、雨なら家で過ごす、といった日常の判断にとても近い考え方です。

Kotlinでは代表的な条件分岐としてif文when式があります。どちらも状況に応じて動きを変えられる便利な構文で、初心者がプログラミングの流れを理解するうえでも重要なポイントになります。

まずは、条件分岐がどのように役立つのか、簡単なサンプルでイメージをつかんでみましょう。


fun main() {
    val weather = "晴れ"

    if (weather == "晴れ") {
        println("散歩に行こう!")
    } else {
        println("今日は家でゆっくりしよう")
    }
}

散歩に行こう!

このように、条件分岐は「状況に応じて結果を変えたいとき」に欠かせない仕組みです。これから解説するif文やwhen式も、この考え方をもとに動いています。

2. if文の基本の書き方

2. if文の基本の書き方
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 >= 20falseになり、「未成年です」とだけ表示されます。


fun main() {
    val temperature = 30

    if (temperature >= 25) {
        println("今日は暑いですね")
    }
}

今日は暑いですね

こちらはelseを使わないパターンのif文です。気温temperatureが25以上のときだけ「今日は暑いですね」と表示し、それ以外のときは何も表示しません。このように、条件が成り立つときだけ特定の処理を行いたい場合にも、if文はシンプルで分かりやすく使えます。

まずは「条件を書いて、その結果に応じてメッセージを切り替える」という基本の形に慣れておくと、次のステップでより複雑な条件分岐を学ぶときにもスムーズに理解しやすくなります。

3. if文のネストは避けよう

3. 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は「式」としても使える

4. Kotlinのifは「式」としても使える
4. Kotlinのifは「式」としても使える

Kotlinの特徴のひとつが、ifを「文」としてだけではなく、「式」として値を返せることです。これは、条件に応じて結果が変わる処理を、そのまま1つの値として扱えるということです。処理の結果を変数に代入できるため、コードが短くまとまり、読みやすさも大きく向上します。

まずは、年齢によって返す文字列を変えるシンプルな例を見てみましょう。


fun main() {
    val age = 16

    val result = if (age >= 20) "おとな" else "こども"

    println(result)
}

こども

if (age >= 20)の条件がtrueなら「おとな」、falseなら「こども」がそのまま値として返され、変数resultに代入されます。これにより、複数行のif〜elseを書く必要がなくなり、目的がひと目で分かるスッキリしたコードになります。


fun main() {
    val score = 55

    val message = if (score >= 60) {
        "合格です"
    } else {
        "残念ながら不合格です"
    }

    println(message)
}

残念ながら不合格です

この例のように、条件によって返す内容が少し長くなる場合でも、ifを式として書けるため、変数に入れてから扱うのがとても自然です。Kotlinでは「条件によって値を決めたい場面」がよく登場しますが、そのたびに煩雑な処理を書く必要がなくなり、初心者でも整理された読みやすいコードを書きやすくなります。

5. when式を使って条件分岐をきれいに

5. when式を使って条件分岐をきれいに
5. when式を使って条件分岐をきれいに

when式は、複数の条件をまとめて分かりやすく書きたいときにとても便利な構文です。ひとつの値に対して「このときはこうする」「別のときはこうする」と切り替えたい場面では、if文を並べるよりも読みやすく、初心者でも直感的に理解しやすい書き方になります。

たとえば、曜日によって「休日」か「平日」かを判断したいとき、if文を使うと条件がずらっと並んで読みにくくなりがちです。しかしwhen式なら、下のように選択肢ごとに処理を整理でき、意味がひと目でつかめます。


fun main() {
    val day = "月曜日"

    val type = when (day) {
        "土曜日", "日曜日" -> "休日"
        "月曜日", "火曜日", "水曜日", "木曜日", "金曜日" -> "平日"
        else -> "不明"
    }

    println(type)
}

平日

この例では、dayの値に応じて「休日」「平日」「不明」を返しています。同じ分類同士をまとめて書けるため、処理の意図がそのまま文章として読めるようになっています。特に条件が増えるほどwhen式の読みやすさが際立ち、Kotlinで条件分岐を書くうえで覚えておきたい基本的な構文です。


fun main() {
    val menu = 2

    val item = when (menu) {
        1 -> "カレー"
        2 -> "ハンバーグ"
        3 -> "パスタ"
        else -> "メニューにありません"
    }

    println(item)
}

ハンバーグ

このように、when式は数字にも文字列にも使えるため、日常的な条件分岐をまとめて扱いたいときに非常に便利です。「値ごとに何をするか」を分かりやすく整理できるため、初心者でも扱いやすく、コード全体の見通しも良くなります。

6. when式は式としても使える

6. when式は式としても使える
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で条件分岐を読みやすく書くポイント

7. Kotlinで条件分岐を読みやすく書くポイント
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文にまとめることで、ネストを解消し、見やすいコードにできます。

Kotlinのif文は式としても使えると聞きましたが、それはどういう意味ですか?

Kotlinではif文が「式」として使えます。つまり、ifの評価結果をそのまま変数に代入できるので、コードが簡潔でわかりやすくなります。これはJavaにはないKotlin独自の特徴です。
関連セミナーのご案内

【未経験OK】Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験する60分

「プログラミングを始めたい」を形にする。最新言語Kotlinで楽しむ、ものづくりの第一歩。

本講座は、プログラミング経験が全くない方のためのエントリー講座です。「コードを書くってどういうこと?」という基本から、世界中で使われている最新言語Kotlin(コトリン)を使って、実際にプログラムを動かすまでを体験します。難しい理屈よりも、まずは「自分の手で動かす楽しさ」を最短距離で実感していただきます。

具体的な体験内容と環境

【つくるもの】
簡単な言葉を入力すると自動で返答してくれる「対話型ミニプログラム」や、計算を自動化する「便利ツール」をゼロから作成します。黒い画面に自分の書いた文字が表示される瞬間は、最高の感動体験です。

【開発環境】
プロのエンジニアが実際に使っている開発ツールIntelliJ IDEA(インテリジェイ)をインストールします。ボタン一つで日本語化し、初心者でも迷わず操作できる「魔法の設定」を一緒に行います。

この60分で得られる3つの体験

1. 自分のパソコンが「開発基地」に

プロと同じ道具を揃えることで、明日から一人でもプログラミングを続けられる環境が整います。

2. プログラミングの「仕組み」がスッキリ

「変数」や「型」といった難しい言葉も、身近な例え話で解説。モヤモヤをゼロにします。

3. 「読みやすい」から「直せる」へ

Kotlinは英語に近くて読みやすいのが特徴。自分でコードを読んで、間違いを見つけるコツも伝授します。

※本講座は、パソコン操作が不安な方でも安心して受講いただける完全マンツーマンです。あなたのペースに合わせて、一つずつ丁寧に進めていきます。

セミナー画像

Kotlinで始めるプログラミング入門|ゼロから「動く喜び」を体験

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のswitchで複雑な条件分岐を整理するテクニック
New2
Go言語
Go言語の構造体の初期化パターンとコンストラクタ的関数の書き方を徹底解説!初心者でもわかる基本と実用例
New3
Go言語
Go言語のスライスを引数に渡す際の注意点!値渡しと参照渡しをわかりやすく解説
New4
Go言語
Go言語の構造体タグ(jsonタグなど)の使い方と活用例を初心者向けにやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.2
Java&Spring記事人気No2
C#
C#の歴史とは?初心者向けに誕生理由と進化の流れをわかりやすく解説
No.3
Java&Spring記事人気No3
Swift
Swift StoryboardとAuto Layout|レスポンシブUIの作り方
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Swift
Swift入門ガイド|基本構文と書き方をマスターしよう
No.6
Java&Spring記事人気No6
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.7
Java&Spring記事人気No7
Swift
Swiftのcontinue・breakの使い方と注意点を徹底解説!初心者向け制御構文ガイド
No.8
Java&Spring記事人気No8
C#
C#の開発環境構築を完全ガイド!初心者でもわかる.NET SDKのインストール方法

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク