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 && c
is evaluated first because&&
has higher precedence.- Then, the result of
b && c
is combined witha
using||
.
With Parentheses:
(a || b)
is evaluated first because parentheses override operator precedence.- Then, the result of
a || b
is combined withc
using&&
.
Summary:
Operator | Precedence (High to Low) | ||
---|---|---|---|
&& |
Higher | ||
` | ` | Lower |
Recommendation:
- Always use parentheses to make your code easier to read and avoid confusion about precedence.
댓글
댓글 쓰기