1. 正の数 5 のとき positive を返す
  2. 0 のとき not positive を返す
  3. 負の数 -3 のとき not positive を返す
  4. 大きい正の数 100 のとき positive を返す
コース一覧
Java入門:基礎文法編
if 文の基本

Java入門:基礎文法編

変数、制御構文、メソッド、クラス、継承、インターフェースなど Java とオブジェクト指向の基礎を、コードを書きながら学べる無料コースです。プログラミング初学者や、業務システム開発で Java を扱う必要がある社会人を対象としています。約 17 時間 (1 日 30 分 × 34 日) で 69 レッスンを修了でき、修了後は Spring などのフレームワーク学習や Java 認定試験への準備が無理なく進められます。

1
Hello, Java
01. はじめての Java プログラム5分
02. 複数行の出力5分
03. 変数を使った自己紹介5分
04. コメントを書く5分
05. 第 1 章まとめクイズ5分
2
変数と演算
01. 変数を宣言する5分
02. データ型の使い分け5分
03. 変数とデータ型クイズ5分
04. 四則演算と剰余5分
05. 税込価格を計算する5分
06. インクリメントとデクリメント5分
07. 比較演算子5分
08. 論理演算子5分
09. 演算子の優先順位5分
10. 文字列の連結5分
11. 型変換 (キャスト)5分
12. 第 2 章 まとめクイズ5分
3
条件分岐
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分
4
繰り返し
01. for 文の基本5分
02. 1 から N までの合計5分
03. 九九の段を作る5分
04. while 文5分
05. カウントダウン5分
06. do-while 文5分
07. 二重ループ5分
08. break と continue5分
09. FizzBuzz 完成5分
10. 繰り返しクイズ5分
11. 第 4 章 まとめクイズ5分
5
メソッド
01. メソッドを定義する5分
02. 引数を受け取るメソッド5分
03. 戻り値を返す5分
04. 複数の引数を取るメソッド5分
05. メソッドのオーバーロード5分
06. メソッドクイズ5分
07. BMI を計算するメソッド5分
08. 第 5 章 まとめクイズ5分
6
配列
01. 配列の基本5分
02. 配列の要素にアクセス5分
03. 配列を for で走査5分
04. Javaで配列の合計・平均を求める方法(forループ)5分
05. 配列の平均5分
06. 配列の最大値5分
07. 配列の線形探索12分
08. 拡張 for ループ5分
09. 配列クイズ5分
10. 第 6 章 まとめクイズ5分
7
クラスとオブジェクト
01. クラスを定義する5分
02. クラスにフィールドを持たせる12分
03. クラスにメソッドを定義する5分
04. インスタンスを作る5分
05. コンストラクタ5分
06. this キーワード5分
07. カプセル化 (private と getter)12分
08. Person クラスを作る5分
09. Product クラスで税込価格15分
10. 銀行口座クラス15分
11. toString のオーバーライド5分
12. クラスとオブジェクト クイズ5分
13. Java 入門 最終クイズ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" を返す)

入出力例

isPositive(5) → "positive" isPositive(0) → "not positive" isPositive(-3) → "not positive" isPositive(100) → "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 で保存