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.

댓글

이 블로그의 인기 게시물

Using the MinIO API via curl

MAX_POLL_RECORDS_CONFIG in Kafka

Elasticsearch Ingest API

KNN(K-Nearest Neighbors) 활용한 이미지 분류

Reactjs datetime range picker

[Ubuntu] Apache2.4.x 설치

리눅스의 부팅과정 (프로세스, 서비스 관리)

Read a file in Java, 자바 파일 읽기

리눅스의 부팅과정

일본어 회화 1