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.

댓글

이 블로그의 인기 게시물

Delete topic on Kafka, 카프카 토픽 삭제하기

ftplib.error_perm: 550 Permission denied

JAVA 실행 스크립트

how to delete all issues on project in sentry, 센트리 이슈 삭제하기

Offset out of range error in Kafka, 카프카 트러블슈팅

Reactjs datetime range picker

Pyspark 를 사용한 테이블 조인, table join with pyspark

Create fixed rounded button by Tailwind

To change the ESE index in Fluent Bit

To create a drawer in the footer using Tailwind CSS