연산자 : 연산을 수행하는 기호
연산을 수행하기 위해서는 대상이 있어야 하는데, 이 대상을 피연산자라고 한다.
3 + 5 의 연산을 수행할 때 3,5는 피연산자, +가 연산자가 된다.
연산자 종류
1. 단항 연산자
- 증감 연산자 ++, --
- 부호 연산자 +, -
2. 산술 연산자
- 사칙 연산자 +, -, *, /
- 나머지 연산자 %
3. 비교 연산자
- 대소비교 연산자 >, <, >=, <=
- 등가비교 연산자 ==, !=
4. 논리 연산자
- 논리 연산자 &&, ||, !
- 비트 연산자 &, |, ^, ~, <<, >>
5. 그 외의 연산자
- 조건 연산자 ? :
- 대입 연산자 =, op=
연산자 우선 순위
우선순위 | 연산자 | 연산방향 |
0 | () 괄호 속의 연산자 | -> |
1 | 증감(++, --), 부호(+, -), 비트 (~), 논리 (!) | <- |
2 | 산술 연산자(*, /, %), 산술 연산자 (+, -) | -> |
3 | 시프트 연산자 (<<, >>) | -> |
4 | 비교 연산자(==, !=) | -> |
5 | 비트 연산자 (&, ^, |), 논리 연산자(&&), 논리 연산자(||) | -> |
6 | 조건 연산자 ? : | -> |
7 | 대입 연산자 (=, +=, -=, *=, /=, %=, &=, ^=, |=, <<=, >>=) | <- |
굵은 글씨는 왼쪽부터 우선순위가 높다.
논리 연산자 &&가 우선순위 더 높음 -> ||랑 섞어쓸 시 괄호 잘 사용해야한다.
단항, 대입 연산자만 오른쪽에서 왼쪽으로 연산 진행된다.
리터럴 연산은 컴파일 시에 미리 계산해준다.
따라서 코드 실행 성능에는 영향을 주지 않으므로 가독성을 생각해서 잘 사용하자.
ex) int day = 60 * 60 * 24;
int day = 86400; (컴파일시 미리 계산되어 변환됨)
int / int 연산은 int로 수행됨 -> 나머지가 생력된다.
int / float 연산 -> int가 자동으로 float으로 형변환 -> 소수점 나머지 구현된다.
문자열을 비교 시에는 비교 연산자 아닌 equals() 사용해야한다.
(== 연산자는 완전히 동일한 리터럴 혹은 객체여야함)
'JAVA' 카테고리의 다른 글
JAVA의 정석 정독하기 #5 - 배열(Array) (0) | 2023.10.29 |
---|---|
JAVA의 정석 정독하기 #4 - 조건문과 반복문 (0) | 2023.10.22 |
JAVA의 정석 정독하기 #2 - 변수 (0) | 2023.10.03 |
JAVA의 정석 정독하기 #1 - JVM이란? (0) | 2023.10.02 |
JAVA 문법 공부 #1 - 기본 문법 정리 (0) | 2023.03.05 |