지금까지 코딩하면서 & 와 && 에 차이가 있는지 모르고있었다,
보통 && 를 많이 써서 따라 사용했는데, 어느날 & 를 써보니 결과가 똑같이 나와 둘이 같은거구나? 라고 생각했다.
Udemy에서 강의를 보다 알게됬는데 두 연산자는 다른 연산자이다!
결론만 놓고 보자면 같기는 하다.
int i = 10;
int j = 15;
System.out.println(i < 5 && j++ > 5); // false
int a = 10;
int b = 15;
System.out.println(a < 5 & b++ > 5); // false
이렇게 동일한 연산을 두 논리 연산자에 넣었을 때 그 결과는 같다.
그런데 j 와 b 에서 차이가 발생한다.
&& 연산자를 사용 했을 때 그 결과가 거짓이면 뒤쪽 연산을 진행하지 않는다.
하지만 & 연산자는 결과에 상관없이 모든 연산을 진행한다.
결국 j = 15 로 그대로지만, b는 16으로 ++ 연산자에 의해 1 증가한다.
| 와 || 의 관계도 마찬가지.
코드를 작성할 때 & 연산자와 && 연산자를 혼용해서 사용하면 읽기가 힘들어질 것 이다.
가장 읽기 편한 방식은
++ 같은 연산은 논리 연산자를 사용하기 전에 진행하고 &&나 || 논리 연산자를 사용하는 것 이다.
'코딩 > JAVA 공부' 카테고리의 다른 글
| [JAVA] 가변 리스트, 불변 리스트 / 리스트에서 반복문 사용하기 (0) | 2023.04.12 |
|---|---|
| [JAVA} 가변인수, Wrapper Class (0) | 2023.04.09 |
| [JAVA] String 문자열 더하기 (0) | 2023.04.04 |
| [Modern Java] Functional Interface (0) | 2022.12.08 |
| [객체지향] 의존성을 이용해 설계 진화시키기 (0) | 2022.12.03 |