A very simple Java Challange..

.. on operator precedence & bit-wise operators and conditional operators!

What is the output of the following program?
class Main {
    public static void main(final String[] args) {
        // Case 1
        if (false && true || false || true) {
            System.out.println("Case 1 is true");
        } else {
            System.out.println("Case 1 is false");
        }
 
        // Case 2
        if (false && true | false || true) {
            System.out.println("Case 2 is true");
        } else {
            System.out.println("Case 2 is false");
        }
 
        // Case 3
        if (false && true || false | true) {
            System.out.println("Case 3 is true");
        } else {
            System.out.println("Case 3 is false");
        }
 
        // Case 4
        if (false && true | false | true) {
            System.out.println("Case 4 is true");
        } else {
            System.out.println("Case 4 is false");
        }
    }
}

Here are 2 useful links: 1, 2!