This is a question from Dan's Question Banks.
class A {
static boolean a; // initialized false
static boolean b; // initialized false
static boolean c; // initialized false
public static void main (String[] args) {
boolean x = (a = true) || (b = true) && (c = true);
System.out.print(a + "," + b + "," + c);
}
}
The output is true, false, false.
Doesn't the && has a higher precedence than the ||? My wrong thinking is that it should be true, true, true. How does the precedence work?