Priority of && and || in java
In Java, the logical AND (&&) operator has higher precedence than the logical OR (||) operator.
Operator Precedence:
&&(Logical AND): Higher precedence.||(Logical OR): Lower precedence.
This means that expressions involving both && and || will evaluate && first, unless you explicitly use parentheses to change the order of evaluation.
Example:
public class LogicalOperators {
public static void main(String[] args) {
boolean a = true;
boolean b = false;
boolean c = true;
// Without parentheses
boolean result = a || b && c;
System.out.println("Result without parentheses: " + result);
// With parentheses to change precedence
boolean resultWithParentheses = (a || b) && c;
System.out.println("Result with parentheses: " + resultWithParentheses);
}
}
Output:
Result without parentheses: true
Result with parentheses: true
Explanation:
Without Parentheses:
b && cis evaluated first because&&has higher precedence.- Then, the result of
b && cis combined withausing||.
With Parentheses:
(a || b)is evaluated first because parentheses override operator precedence.- Then, the result of
a || bis combined withcusing&&.
Summary:
| Operator | Precedence (High to Low) | ||
|---|---|---|---|
&& |
Higher | ||
| ` | ` | Lower |
Recommendation:
- Always use parentheses to make your code easier to read and avoid confusion about precedence.
댓글
댓글 쓰기