はじめに
ダメージを与えてHPを減らしたり、名前やレベルを文字列で管理したり、
ここまででだいぶJavaの演算子に慣れてきたね!
今回のテーマは「比較演算子」。
ポケモンのHPが0になったかどうか? 相手より素早さが高いか? といった、
「判断」をする処理には欠かせない演算子なんだ!
🤔 比較演算子ってなに?
比較演算子は、「左と右の値を比べてどうか?」を判定して、
true(真)か false(偽) を返す演算子だよ!
たとえば:
if (hp <= 0) {
System.out.println("ひんし状態!");
}
📘 主な比較演算子一覧
| 演算子 | 読み方 | 意味 | 例 |
|---|---|---|---|
== |
イコール | 等しい | hp == 0 |
!= |
ノットイコール | 等しくない | hp != 100 |
< |
より小さい | 左が右より小さい | level < 50 |
> |
より大きい | 左が右より大きい | damage > 0 |
<= |
以下 | 左が右以下(小さい or 等しい) | hp <= 0 |
>= |
以上 | 左が右以上(大きい or 等しい) | exp >= 1000 |
✅ 比較演算子は「結果が true か false になる」ってところがポイント!
意味が成立する場合、結果は true となります。
🎮 ポケモンバトルでの活用例
✅ HPが0以下ならtrue ⇒「ひんし」判定!
if (hp <= 0) {
System.out.println(name + " は たおれた...");
}
✅ プレイヤーと相手のレベル比較
自分のレベルが相手のレベル以上true ⇒"レベルでは勝ってるぞ!"を出力
if (myLevel >= rivalLevel) {
System.out.println("レベルでは勝ってるぞ!");
} else {
System.out.println("うーん、レベル差があるな...");
}
✅ 特殊状態チェック(例:状態異常)
💡補足:ここでは
equalsメソッドを使って文字列の中身を比較しているけど、
注目ポイントは先頭の!(論理否定演算子)!
比較演算子そのものではないけれど、条件の否定を行うパターンとして覚えておこう!
if (!status.equals("正常")) {
System.out.println("状態異常あり: " + status);
}
💡 よくあるミス
① :❌ =(代入)と ==(比較)の混同
if (hp = 0) { // ←これはエラー!
これは「hpに0を代入」してるので、文法エラーになるよ!
✅ 正しくは:
if (hp == 0)
② :❌ 文字列の比較に == を使っちゃう
if (status == "どく") // ←NG!
これはオブジェクト参照の比較になるから、
✅ 正しくは:
if (status.equals("どく")) // ← OK!
🧪 比較演算子は条件分岐の主役!
条件分岐(ifやelse)の中で、比較演算子が大活躍!
if (hp > 0) {
System.out.println("バトル続行可能!");
} else {
System.out.println("バトル不能...");
}
今後のバトル判定やメッセージの切り替えでもたくさん使うから、しっかり身につけよう!
🪄 次回予告:論理演算子
複数の条件を一緒に考えたいとき、どうやって書いたらいいか迷ったことない?
たとえば「HPが残っていて、状態も『元気』だったら攻撃できる!」みたいに、
2つの条件をまとめて判断したいときに使えるのが論理演算子!
次回は、そんな場面に役立つ && や || の使い方を紹介するよ!
次の投稿まで~~
ピッピカチュウ!!
あとがき
ここまで読んでくれて、本当にありがとうございました。
「プログラミングって難しい...」って思ってた人も、
「ちょっと楽しいかも...!」って思ってもらえたらうれしいな。
次の投稿も、よろしくおねがいします。
💬 コメント・フィードバック歓迎!
「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!