can_short_circuit.mj 948 Bytes
Newer Older
uwdkn's avatar
uwdkn committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
class A {
    public boolean side_effect() {
        System.out.write(70); // 
        System.out.write(10); // newline
        return false;
    }

    public static void main(String[] args) {
        A a = new A();
        if (true || a.side_effect()) {
            System.out.write(79); // O
            System.out.write(75); // K
            System.out.write(10); // newline
        }

        if (false && a.side_effect()) {
        } else {
            System.out.write(79); // O
            System.out.write(75); // K
            System.out.write(10); // newline
        }

        if (!(false && a.side_effect())) {
            System.out.write(79); // O
            System.out.write(75); // K
            System.out.write(10); // newline
        }

        if ((true || a.side_effect()) && true) {
            System.out.write(79); // O
            System.out.write(75); // K
            System.out.write(10); // newline
        }
    }
}