김영한 자바 입문편 “연산자” 강의에서 중요하거나 새롭게 깨달은 것들만 간단하게 정리하자.
연산자
자주 사용하는 연산자
- 산술 연산자:
+,-,*,/,% - 증감 연산자:
++,-- - 비교 연산자:
==,!=,>,<,>=,<= - 논리 연산자:
&&,||,! - 대입 연산자:
=,-=,+=,/=,%= - 삼항 연산자:
? : - 객체 타입 확인 연산자:
instanceof - 그 외 :
new,[] (배열 인덱스),. (객체 멤버 접근),() (메소드 호출)
실무에서 거의 사용할 일이 없는 연산자
- 비트 연산자:
&,|,^,~,<<,>>,>>>
연산자 우선순위
연산자가 많은 수식에는 괄호를 명시적으로 사용하는 것이 더 명확하고 이해하기 쉽다.
1 | |
위 두 개의 간단한 수식을 비교해볼 때 확실히 괄호가 포함된 것이 더 이해하기 쉽다.
코드를 몇자 줄여서 모호하거나 복잡해 지는 것 보다는 코드가 더 많더라도 명확하고 단순한 것이 더 유지보수 하기 좋다.
대부분의 개발자들은 연산자 우선순위를 외우지 않을 것이다.(나 또한.. 외우지 않는다.)
연산자 우선순위를 외우지 말고 아래 두 가지만 생각하자.
- 상식선에서 우선순위를 결정하자.
- 애매하면 괄호
()를 사용하자.
개발에서 가장 중요한 것은 단숨함과 명확함이다. 애매하거나 복잡하면 안된다.
문자열 비교
문자열이 같은지 비교할 때는 == 이 아니라 .equals() 메서드를 사용해야 한다. == 를 사용하면 성공할 때도 있지만 실패할 때도 있다.
1 | |
문자열 리터럴 값 비교시에는 == 으로도 괜찮지만, 문자열 객체를 비교할 때는 예상치 못 한 결과가 나오게 된다. 각각 다른 객체를 가리키고 있기 때문이다.
✅
equals()를 사용하면 문자열의 실제 내용을 비교하여 일치 여부를 확인할 수 있으므로, 예상치 못한 결과나 버그를 방지하고 정확한 비교를 할 수 있다.