Javaの条件式の作り方|「以上・未満・かつ・または」をプログラムに変換する

本記事は、Schooの「Java入門 初級【2026年版】」第3回「条件分岐・論理演算子」を学んだあとに、日本語で書かれた要件をJavaの条件式へ変換する考え方を整理したい方向けのステップアップ学習記事です。
ただし、Schooを受講していない方でも、Javaのif文と比較演算子を学び始めたばかりであれば読み進められる内容にしています。
Schoo コースページ:Java入門 初級【2026年版】
「80点以上かつ90点未満ならBランク」のような要件を見たとき、条件式を一度に書こうとすると記号を間違えやすくなります。まず日本語を小さな条件に分け、それぞれを比較演算子へ変換してから、論理演算子でつなぐと整理しやすくなります。
日本語の条件は3つに分けて読む
「scoreが80以上かつ90未満」を、次の3つに分けます。
- 左の条件:scoreが80以上
- つなぎ方:かつ
- 右の条件:scoreが90未満
左の条件は score >= 80、右の条件は score < 90 です。「かつ」はJavaで && と書くため、全体は次の条件式になります。
score >= 80 && score < 90
以上・以下・より大きい・未満を記号にする
最初に、境目の値を含むかどうかを確認します。「以上」と「以下」は境目を含み、「より大きい」と「未満」は境目を含みません。
| 日本語 | Javaの書き方 | 境目を含むか |
|---|---|---|
| scoreが80以上 | score >= 80 | 80を含む |
| scoreが80以下 | score <= 80 | 80を含む |
| scoreが80より大きい | score > 80 | 80を含まない |
| scoreが80未満 | score < 80 | 80を含まない |
| scoreが80と等しい | score == 80 | 80だけ |
| scoreが80ではない | score != 80 | 80以外 |
条件式を書いたら、境目の値を代入して読み直します。例えば score >= 80 に80を入れて true になるなら、「80以上」と一致しています。
「かつ」は&&で両方の条件を満たす
&& は、左と右の条件が両方とも true のときに、条件式全体が true になります。
ファイル名: MainExample.java
public class MainExample {
public static void main(String[] args) {
int score = 85;
if (score >= 80 && score < 90) {
System.out.println("Bランクです");
}
}
}
実行結果
Bランクです
85は80以上なので左側は true、90未満なので右側も true です。両方を満たすため、&& でつないだ条件式全体も true になります。
「または」は||でどちらかの条件を満たす
|| は、左と右のどちらか一方でも true なら、条件式全体が true になります。
ファイル名: MainExample.java
public class MainExample {
public static void main(String[] args) {
int day = 6;
if (day == 6 || day == 7) {
System.out.println("休日です");
}
}
}
実行結果
休日です
day が6なので、左側の day == 6 は true です。右側の day == 7 が false でも、どちらかを満たしているため全体は true になります。
条件式をその場で確かめる
値を変えながら、左右の条件と条件式全体がどのように変わるか確認してみましょう。判定は値を変えるとすぐに更新されます。
80点以上かつ90点未満
曜日が6または7
境目の値で条件式を確認する
score >= 80 && score < 90 が意図どおりか確認するときは、79、80、89、90のように境目の前後を試します。
| score | score >= 80 | score < 90 | 条件式全体 |
|---|---|---|---|
| 79 | false | true | false |
| 80 | true | true | true |
| 89 | true | true | true |
| 90 | true | false | false |
80では条件を満たし、90では満たさないため、「80以上90未満」という日本語と一致しています。
よくある条件式の間違い
数学のように80 <= score < 90と書く
Javaでは、範囲を 80 <= score < 90 のようには書けません。score >= 80 と score < 90 の2つに分け、&& でつなぎます。
「かつ」なのに||でつなぐ
「80以上かつ90未満」は、両方を満たす必要があるため && を使います。score >= 80 || score < 90 とすると、ほとんどの点数がどちらかを満たし、意図した範囲判定になりません。
以上とより大きいを同じ意味で使う
「80以上」は80を含むので >=、「80より大きい」は80を含まないので > です。条件式を書いたあとに境目の80を入れて確認すると、違いに気づきやすくなります。
日本語から条件式を作る手順
- 何の値を調べるかを変数名で確認する
- 以上・未満・等しいなどを比較演算子に変える
- 条件が複数ある場合は、1つずつ別の式にする
- 「かつ」なら
&&、「または」なら||でつなぐ - 境目の値を代入して、日本語の要件と一致するか確認する
確認問題
- 在庫数を表す
stockが1以上なら「注文できます」と表示するif文を書いてください。 - 気温を表す
temperatureが10未満なら「上着を用意しましょう」と表示するif文を書いてください。 - 年齢を表す
ageが18以上かつ65未満なら「一般料金です」と表示するif文を書いてください。 - 点数を表す
scoreが80以上、または出席率を表すattendanceが90以上なら「合格候補です」と表示するif文を書いてください。
演習後の確認:こちらのページを使って、自分で考えた条件式を見直せます。先に日本語を分解してから確認することをおすすめします。
あわせて読みたい関連記事
まとめ
日本語の要件から条件式を作るときは、最初に条件を1つずつ分けます。「以上」「未満」などを比較演算子へ変換し、「かつ」は &&、「または」は || でつなぎます。
最後に境目の値を代入すると、条件式が要件と一致しているか確認できます。記号だけを覚えるのではなく、日本語を分解し、左右の条件をそれぞれ読めるようにすることが大切です。