コース一覧
    Java入門:条件分岐
    if-else 文

    Java入門:条件分岐

    条件分岐の書き方を学び、入力や条件に応じて処理を選べるプログラムを作れるようにします。

    1
    条件分岐
    01. if 文の基本5分
    02. if-else 文5分
    03. else if で複数分岐5分
    04. 成績判定プログラム12分
    05. うるう年を判定する5分
    06. switch 文5分
    07. 三項演算子5分
    08. じゃんけんの勝敗判定15分
    09. FizzBuzz の判定部分5分
    10. 第 3 章 まとめクイズ5分

    if-else 文

    「そうでないとき」を、初期値に押し付けている

    条件が成り立たないときにも別の処理をしたい。これを if 単体で書こうとすると、たいてい変数の初期値に頼ることになります。

    Java

    String label = "ゲスト";
    if (isLoggedIn) {
        label = userName;
    }

    動きはしますが、読む人は「if が成り立たなかったらどうなるか」を宣言の行まで戻って確かめないと分かりません。else を付ければ、true のときと false のときが横に並びます。

    Java

    if (isLoggedIn) {
        System.out.println(userName + " さん");
    } else {
        System.out.println("ゲストさん");
    }

    if 単体との違いは、通る道が必ず 1 本あることです。if だけなら「何も起きない」という結末がありえますが、if-else では 2 本のうちどちらか一方が必ず実行され、両方が実行されることも、どちらも実行されないこともありません。

    else は単独では立てない

    else は「それ以外すべて」を受け取る出口なので、丸括弧も条件も付きません。else (score > 0) { ... } と書くとエラーになります。条件を付けて 3 つ目の道を作りたいときは else if という別の書き方を使います。

    もう 1 つ、else の直前には必ず if のブロックの閉じ括弧が来ていなければなりません。あいだに別の文を挟むと else が宙に浮き、'else' without 'if' というエラーで止まります。閉じ括弧の直後に } else { と続ける、この並びだけ覚えておけば十分です。

    余りの符号は、割られる側についてくる

    二者択一の判定でよく使うのが剰余演算子 % です。割り算の余りを返すだけの演算子ですが、負の数を渡したときの符号に癖があります。

    Java

    System.out.println(7 % 3);    // 1
    System.out.println(-7 % 3);   // -1
    System.out.println(7 % -3);   // 1

    余りの符号は、右ではなく左、つまり割られる側と同じになります。-7 % 3 は 2 ではなく -1 です。数学の感覚とずれる場所なので、余りが特定の値と一致するかどうかを条件にするときは、負の数を入れたら何が返るかを一度手元で出力してから書いてください。

    解説

    条件を書いたら「true のときは分かった。では false のときは」と必ず自問します。バグの多くは、片側だけ考えて満足したところから生まれます。

    要件

    1. クラス名は Solution、メソッド名は evenOrOdd、引数は int n の 1 つにすること
    2. 戻り値の型は String で、偶数なら "even"、奇数なら "odd" を返すこと
    3. 剰余演算子 % と if-else 文を使って判定すること

    ヒント

    偶数の判定は `n % 2 == 0` という式で書けます。`%` は割り算の余りを返す演算子です

    `if (条件) { ... } else { ... }` の形で書くと、条件の `true` / `false` で必ずどちらか一方が実行されます

    負の奇数 (`-3` など) では `n % 2` が `-1` になるので、`n % 2 == 1` で奇数判定すると失敗します。**偶数判定** を基準に `else` で奇数を返すのが安全です

    生田 陸人
    監修生田 陸人
    ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
    編集 ゆめさく編集部·公開 2026/05/19·更新 2026/08/26

    関連レッスン

    • else if で複数分岐

      if-else if-else で 3 つ以上の分岐を書き分けよう。評価順序とよくある落とし穴も学びます。

    • 成績判定プログラム

      if文を使って、入力された点数に応じて成績を判定するプログラムを実装します。

    • うるう年を判定する

      `&&` と `||` を組み合わせて、実用的な条件「うるう年かどうか」を 1 行で判定するメソッドを書いてみよう。

    • switch 文

      値による多分岐を簡潔に書く switch 文を学び、case と break、default の使い方をマスターしよう。

    このレッスンに出てくる用語

    意味があいまいなまま進んだ語は、ここから読み直せます。

    • 処理計算や代入を表す長方形
    • 変数データに名前をつけて参照する仕組み
    • ロック「他の人触らないでね」と DB に予約する
    • 剰余演算子% で割り算の余りを得る演算子
    • 演算子//は切り捨て除算(7 // 2 = 3)。
    • クラスデータと振る舞いを束ねる単位
    • メソッドクラスに属する関数
    • 引数位置引数=順番で渡す。
    main.java
    エディタを読み込んでいます

    メモ

    if-else 文

    ⌘S で保存