Java

&&와 &, ||와 |의 차이

yeooniyeoon 2023. 11. 1. 23:41
728x90
SMALL

자바의 논리 연산자에는 &&, &, ||, |, ^, !가 있다.

이 중 &&와 &, ||와 |의 연산 결과는 똑같지만 jvm이 실행하는 방식이 다르다.

 

&& 연산자를 사용할 경우, 앞의 식의 거짓이면 뒤의 식은 실행하지 않는다.

앞의 식이 false이므로 뒤의 값은 확인할 필요가 없기 때문이다.

근데 & 연산자를 사용할 경우에는, 앞의 식이 false여도 뒤의 식까지 같이 실행한다.

 

||도 마찬가지로 앞의 식이 true이면 뒤의 식과 상관없이 true이므로 뒤의 식은 실행하지 않지만

| 연산자를 사용할 경우엔 앞의 식이 true여도 뒤의 식까지 같이 실행한다.

 

만약 뒤의 식에 수식 등이 들어갈 경우 수식에 증가, 감소되는 식이 있으면 실행이 되냐 안되냐에 따라 문제가 발생할 수 있으니 유의해야 한다.

728x90
반응형
SMALL

'Java' 카테고리의 다른 글

Chapter 05-3 열거 타입  (0) 2022.11.16
Chapter 05-2 배열  (0) 2022.11.14
Chapter 05-1 참조 타입과 참조 변수  (0) 2022.11.10
Chapter 01 자바 시작하기  (0) 2022.11.02
환경변수를 설정하는 이유  (0) 2022.08.18