Priority of && and || in java

In Java, the logical AND (&&) operator has higher precedence than the logical OR (||) operator.


Operator Precedence:

  1. && (Logical AND): Higher precedence.
  2. || (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:

  1. Without Parentheses:

    • b && c is evaluated first because && has higher precedence.
    • Then, the result of b && c is combined with a using ||.
  2. With Parentheses:

    • (a || b) is evaluated first because parentheses override operator precedence.
    • Then, the result of a || b is combined with c 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.

댓글

이 블로그의 인기 게시물

Fundamentals of English Grammar #1

The logs of the kubelet service

Firebase with Flutter

Using venv in Python

max_active_runs of Airflow

운영체제를 개발 방법

Auto-populate a calendar in an MUI (Material-UI) TextField component

Decimal (ASCII) value of each letter in the alphabet

"Do you happen to"

php 에서의 static 변수