16
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【ポケモン×Java】知識編 演算子#4 〜演算子を完全攻略!-論理演算子編-〜

Posted at

はじめに

「HPが0より大きくて、状態が“元気”なら攻撃できる!」

こんなふうに、複数の条件を同時に判断したいときってあるよね?

今回は、そんな場面で大活躍する「論理演算子(&&||!)」を紹介するよ!
Javaの「条件分岐」をさらにレベルアップさせよう!


🧠 論理演算子とは?

比較演算子と組み合わせて、複数の条件をつなげたり、逆転させたりできる演算子のこと!

演算子 意味
&& 両方とも 〇 なら true hp > 0 && status.equals("元気")
|| どちらかが 〇 なら true hp > 0 || hasReviveItem == true
! true/false を反転させる !status.equals("正常")

🎮 ポケモン風!実践例

✅ 条件① AND:両方満たすときだけOK

if (hp > 0 && status.equals("元気")) {
    System.out.println("戦闘続行!");
} else {
    System.out.println("攻撃できない...");
}

✅ 条件② OR:どちらかOKなら実行!

if (status.equals("まひ") || status.equals("どく")) {
    System.out.println("状態異常が発生中!");
}

✅ 条件③ NOT:正常じゃないとき

if (!status.equals("正常")) {
    System.out.println("なにか異常がある...!");
}

💡 注意点と補足

🔍 ちょっと高度な仲間たち:&|

Javaには &(論理AND)や |(論理OR)という演算子もあるよ!

これらは &&, || に似てるけど、両方の条件を必ず評価するという違いがあるんだ。

Sample.java
public class Sample {
    public static void main(String[] arg){
        boolean a = false;
        
        System.out.println("--- && の場合 ---");
        if (a && methodThatReturnsFalse()) {
            System.out.println("両方 true でした");
        }
        
        System.out.println("--- & の場合 ---");
        if (a & methodThatReturnsFalse()) {
            System.out.println("両方 true でした");
        }
    }
    
    static boolean methodThatReturnsFalse() {
        System.out.println("methodThatReturnsFalse() が呼ばれたよ!");
    return false;
}
実行結果.
--- && の場合 ---
// 左側のみで判定しているため、呼ばれなかった。
--- & の場合 ---
// 両方で判定しているため、右側も呼ばれた。
methodThatReturnsFalse() が呼ばれたよ!
  • &&||左から順に評価されるよ(ショートサーキット)
    しかし、a && b の状況で、a=falseの場合、bが判断されないんだ。

  • 通常の条件分岐では &&|| を使うのが安全で効率的!
    &| は「副作用のある処理も必ず実行したい」ような特殊な場面で使われるよ。

  • 複雑な条件ではカッコ () でグループ化すると安全!

例.  ((A && B ) || C )
if ( (hp > 0 && status.equals("元気") ) || hasReviveItem) {
    System.out.println("次のターンに期待できる!");
}

🪄 次回予告:三項演算子

次回は 条件 ? 値1 : 値2 という、if文を1行にギュッとできちゃう
便利な演算子「三項演算子」を紹介するよ!

条件によって結果を切り替えたいときに、とっても便利だからお楽しみに〜!

次の投稿まで~~

ピッピカチュウ!!


あとがき

ここまで読んでくれて、本当にありがとうございました。

「プログラミングって難しい...」って思ってた人も、
「ちょっと楽しいかも...!」って思ってもらえたらうれしいな。

次の投稿も、よろしくおねがいします。

💬 コメント・フィードバック歓迎!

「この章わかりやすかった!」
「これ表現まちがってない?」
「次は○○をやってほしい!」などなど、
お気軽にコメントで教えてくださいね!


16
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?