以下のプログラムでfunc3が実行されないのはなぜですか?func1の後、func2は評価される必要はありませんが、func3の場合は評価されるべきではありませんか?
if (func1() || func2() && func3()) {
System.out.println("true");
} else {
System.out.println("false");
}
}
public static boolean func1() {
System.out.println("func1");
return true;
}
public static boolean func2() {
System.out.println("func2");
return false;
}
public static boolean func3() {
System.out.println("func3");
return false;
}