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

How to split a list into chunks of 100 items in JavaScript, 자바스크립트 리스트 쪼개기

HTML Inline divisions at one row by Tailwind

Boilerplate for typescript server programing

가속도 & 속도

Gradle multi-module project

How to checkout branch of remote git, 깃 리모트 브랜치 체크아웃

CDPEvents in puppeteer

Sparse encoder

Reactjs datetime range picker