다른 답변으로 덮여 것 이상으로, 그것의 가치는 그것을 지적 &&
하고 ||
다른 우선 순위를 가지고 &
와 |
.
우선 순위 테이블 에서 추출 합니다 (가장 높은 우선 순위가 맨 위에 있음).
bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
logical AND &&
logical OR ||
이것이 당신에게 어떤 의미입니까?
&
and |
또는 only &&
and 중 하나만 고수하는 한 절대 아무것도 아닙니다 ||
.
그러나 ( 우선 순위가 |
낮은와 &&
달리 ||
)보다 우선 순위 가 높기 때문에 자유롭게 혼합하면 예상치 못한 동작이 발생할 수 있습니다.
그래서 a && b | c && d
과 동일 a && (b | c) && d
,
반대를 a && b || c && d
하는 것(a && b) || (c && d)
.
동일하지 않다는 것을 증명하기 위해 진리표에서 발췌 한 내용을 고려하십시오.
a | b | c | d | (b|c) | (a&&b) | (c&&d) | a && (b|c) && d | (a&&b) || (c&&d)
F | T | T | T | T | F | T | F | T
^ ^
|- not the same -|
OR이 AND보다 우선 순위를 높이 려면 and를 함께 사용할 수 있지만 권장되지는 않습니다.|
&&
그러나 다른 기호를 사용할 때마다 우선 순위를 명확히하기 위해 괄호 안에 넣어야합니다 (a && b) || c
( 예 : 우선 순위를 명확히하는 대괄호) a && b && c
(대괄호 필요 없음).