Programming Language/Java

[Java] AND와 OR의 연산자 우선순위

LeeJaeJun 2023. 12. 31. 01:39
728x90
반응형

논리 연산자 중에서 AND를 의미하는 '&'와 '&&'가 OR를 의미하는 '|'와 '||'보다 우선순위가 높다. 이처럼 수식에 AND와 OR가 함께 사용되는 경우에는 괄호를 사용해서 우선순위를 명확히 하는 것이 좋다.

x = 6;
System.out.printf("x=%2d, x%%2==0 || x%%3==0 && x%%6!=0 =%b%n", x, x%2==0||x%3==0 && x%6!=0);

System.out.printf("x=%2d, (x%%2==0 || x%%3==0) && x%%6!=0 = %b%n",x, (x%2==0||x%3==0)&& x%6!=0);


이 결과 &&의 우선순위가 ||보다 높기 때문에

x%2==0 || x%3==0 && x%6!=0 은 True || True && False -> True || False -> True가 되고

x%2==0 || x%3==0 && x%6!=0 은 (True || True) && False -> Ture && False -> False가 된다.

728x90
반응형