논리연산자 (의미 : 또는)
a | b
a || b
무슨 차이가 있을까?
둘 다 같은 의미이다.
하지만 (차이점) a|b 는 a, b의 값을 평가한다. 즉, a 가 참이라도 b 를 검사한다.
a||b 의 경우 a 가 참이면 b를 검사하지 않는다. 즉 b 가 단항연산자(++ ,-- 등) 이 있어 검사할 경우와 그렇지 않을 경우에 결과에 차이가 있다.
마찬가지로 &, && 에도 비슷하다.
추가로
&, | 는 논리연산자로만 사용하는 것이라 아니라 비트연산자로도 사용한다.
a&b : 비트단위의 논리곱
a|b : 비트단위의 논리합
'WEB > java' 카테고리의 다른 글
String, StringBuffer, StringBuiler 차이 (0) | 2017.12.28 |
---|---|
[구글링] stack & queue (0) | 2017.12.20 |
[NOTE] Field, method in static method (0) | 2017.12.19 |
[생활코딩]제네릭 (0) | 2017.12.08 |
[자바의 정석] Collection Framework (0) | 2017.12.08 |