本文へスキップ
BecomeCoder

Java文法コース · 第3章 演算子 ― 値を計算し、比較し、組み合わせる · レッスン10

比較演算子と論理演算子 ― 条件を組み立てる

ブラウザで完結

導入

「スコアが60点以上」「雨が降っていて、かつ傘がない」のような条件を作るのが、比較演算子と論理演算子です。次章の if を使いこなす土台になります。

説明

まず比較演算子です。結果はすべて booleantrue/false)になります。

public class Main {
    public static void main(String[] args) {
        int score = 85;
        System.out.println(score == 85);   // 等しい → true
        System.out.println(score != 100);  // 等しくない → true
        System.out.println(score >= 60);   // 以上 → true

        boolean isRainy = false;
        boolean hasUmbrella = true;
        System.out.println(isRainy && hasUmbrella);  // かつ(AND)→ false
        System.out.println(isRainy || hasUmbrella);  // または(OR)→ true
        System.out.println(!isRainy);                 // 否定(NOT)→ true
    }
}
演算子意味
==等しい
!=等しくない
> <より大きい/より小さい
>= <=以上/以下
&&かつ(両方 true のときだけ true)
||または(どちらかが true なら true)
!否定(true と false を入れ替える)

注意== は「代入」の = と見た目が似ていますが、まったく別物です。if (x = 5) のように1つの = で書くとJavaではコンパイルエラーになるので、Javaでは事故りにくいですが、意味の違いはしっかり覚えておきましょう。

やってみよう

下のエディタで isRainyhasUmbrella の組み合わせを変えて、&&|| の結果がどう変わるか確かめましょう。

演習

int age = 20;boolean hasTicket = true; を用意し、「年齢が18以上、かつチケットを持っている」を boolean canEnter に計算して表示してください(結果は true)。

ヒント1を見る

boolean canEnter = (age >= 18) && hasTicket; のように書きます。

ヒント2を見る

System.out.println(canEnter); で表示します。

実際に動かしてみよう

下のエディタにJavaを書いて「実行」を押すと、学習用シミュレータが System.out.println の出力を表示します(本物のJVMではなく、教材の範囲を再現した軽量エンジンです)。クラス・継承・コレクションなども動きます。Scanner で入力を読む例は「標準入力」欄に値を入れてください。本文の例を書き換えて動かしてみましょう(Stream・ラムダ・スレッド・ファイル入出力など一部の機能は対象外です)。

Java — ブラウザ内で実行(学習用シミュレータ)

Javaの教材サブセットを動かす学習用シミュレータを読み込みます(本物のJVMではなく、動きを再現した軽量な自作エンジンです)。
スクロールして表示された時点でも自動で読み込まれます。