コース一覧
    Java入門:条件分岐
    if 文の基本

    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 文の基本

    誰に対しても、同じ文しか出せない

    ここまでのプログラムは、書いた行が上から下へ必ず全部実行されていました。これだと在庫が 100 個でも 3 個でも同じ文が出てしまい、「残りわずかです」のような、ある条件のときだけ出したい一文が書けません。

    そこで使うのが if 文です。丸括弧の中に条件を、中括弧の中に「その条件が成り立ったときだけ動かしたい処理」を書きます。

    Java

    int stock = 3;
    if (stock < 5) {
        System.out.println("残りわずかです");
    }
    System.out.println("ご注文ありがとうございます");

    stock が 3 のときは 3 < 5 が true になるので、2 つの文が両方出ます。stock が 20 なら条件は false になり、中括弧の中だけが飛ばされます。if の外にある最後の行は、条件に関係なく必ず実行されます。

    中括弧をどこまで囲むかで、動く行が変わる

    条件が成り立ったときに動かしたい文が複数あるなら、その全部を中括弧の中に入れます。

    Java

    if (stock == 0) {
        System.out.println("売り切れです");
        System.out.println("再入荷をお待ちください");
    }

    処理が 1 行だけなら中括弧を省略して書けますが、省略はおすすめしません。あとから 2 行目を足したとき、見た目のインデントは揃っているのに、その行だけ if の外側として扱われます。エラーにならず動いてしまうぶん、原因にたどり着くまで時間を取られます。

    丸括弧の直後にセミコロンを置いてしまう if (stock == 0); も同じ性質の事故です。「条件が成り立ったら何もしない」という意味になり、後ろの中括弧は if と無関係にいつも実行されます。

    丸括弧に入れられるのは boolean だけ

    if の丸括弧に書けるのは、評価すると true か false になる式だけです。前の章で作った stock < 5 のような比較式や、もともと boolean の変数がそのまま入ります。

    Java

    boolean isSoldOut = stock == 0;
    if (isSoldOut) {
        System.out.println("売り切れです");
    }

    数値をそのまま入れることはできません。if (stock) と書くとコンパイルエラーになります。C 言語には「0 なら false、それ以外は true」という決まりがありますが、Java にその近道はなく、必ず boolean を要求します。書き間違いが実行前に見つかるので、慣れると助かる仕様です。

    要件

    1. クラス名は Solution、メソッド名は isPositive、引数は int n 1 つにすること
    2. n が 0 より大きいときだけ "positive" を返し、それ以外は "not positive" を返すこと
    3. 0 は正の数に含めない (isPositive(0) は "not positive" を返す)

    ヒント

    条件式は `n > 0` です。`n >= 0` にすると `0` も `"positive"` になってしまいテストが fail します

    `if (n > 0) { return "positive"; }` のあとに、ブロックの外で `return "not positive";` を書くと、条件に当てはまらなかったときの分岐になります

    文字列は必ずダブルクォート `"` で囲み、文末にはセミコロン `;` を忘れずに書きましょう

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

    関連レッスン

    • if-else 文

      if-else でどちらかの処理を必ず実行する書き方を学び、偶数・奇数を判定するメソッドを書けるようになろう。

    • else if で複数分岐

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

    • 成績判定プログラム

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

    • うるう年を判定する

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

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

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

    • 処理計算や代入を表す長方形
    • インデントPythonはインデント(通常スペース4つ)でコードブロックを定義する。
    • 評価出力品質を数値化して継続改善する活動
    • 変数データに名前をつけて参照する仕組み
    • コンパイルソースをバイトコードへ変換する処理
    • クラスデータと振る舞いを束ねる単位
    • メソッドクラスに属する関数
    • 引数位置引数=順番で渡す。
    main.java
    エディタを読み込んでいます

    メモ

    if 文の基本

    ⌘S で保存