订正 (2023-03-05):
java 中 && , || 优先级相同,左边的先执行;
&&, || 都有短路性质,
&& 左边为 false 时,右边不计算,直接返回 false
|| 左边为 true 时,右边不计算,直接返回 true
感谢评论区大佬:魑魅魍魉弗格森 的指正。
以下结论错误:
Java 先执行 &&, 在执行 || 。不是按照从左到右执行。
boolean b = true || false && false;
System.out.println(b);
上述代码输出结果为 true。
情况一:从左到右执行
true || false = true
true && false = false
最后输出结果为 false,与实际不符
情况二:先&&,后 ||
false && false = false;
true || false = true
最后输出 true,与实际一致。
结论:逻辑运算 先执行 && ,在执行 || 。