LoginSignup
0
0

More than 5 years have passed since last update.

論理演算子の評価について

Posted at

論理演算子の評価方法

特にインクリメント・デクリメント時には注意が必要

Increment.java

public class Increment {

    public static void main(String[] args) {
        int x = 10;
        int y = 10;

        if (x >= 10 && ++y >= 10) {
            //xがfalseならyを評価しない
            System.out.println("x = " + x);
            System.out.println("y = " + y);
        }
        System.out.println("------");

        if (x >= 10 || ++y >= 10) {
            //xがtrueならyを評価しない
            System.out.println("x = " + x);
            System.out.println("y = " + y);
        }
        System.out.println("------");

        if (x >= 10 | ++y >= 10) {
            //xがtrueでもyを評価する
            System.out.println("x = " + x);
            System.out.println("y = " + y);
        }
        System.out.println("------");

        if (x > 10 & ++y > 10) {
            //xがfalseでもyを評価する
            System.out.println("nothing");
        }

        System.out.println("x = " + x);
        System.out.println("y = " + y);
    }

}
x = 10
y = 11
------
x = 10
y = 11
------
x = 10
y = 12
------
x = 10
y = 13
0
0
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
0
0