연산자(operator)
- 연산을 수행하는 기호 ex) +, -, *, /
- 연산자는 피연산자로 연산을 수행하고 나면 항상 결과값을 반환
피연산자(operand)
- 연산자의 작업 대상
ex) 변수, 상수, 리터럴, 수식
식과 대입연산자
- 식 : 연산자와 피연산자를 조합하여 계산하고자하는 바를 표현한 것
- 식을 평가한다 : 식을 계산하여 결과를 얻는 것
연산자의 종류
1. 산술 연산자 : + - * / % << >> : 사칙 연산과 나머지 연산
2. 비교 연산자 : > < >= <= == != : 크고 작음과 같고 다름을 비교
3. 논리 연산자 : && || ! & | ^ ~ : 그리고(AND)와 또는(OR)으로 조건을 연결
4. 대입 연산자 : = : 우변의 값을 좌변에 저장
5. 기타 : (type) ? : instanceof : 형변환 연산자, 삼항 연산자, instanceof 연산자
연산자의 우선순위
1. 산술 > 비교 > 논리 > 대입(제일 마지막에 수행)
2. 단항(1) > 이항(2) > 삼항(3) 단항 연산자의 우선순위가 이항 연산자보다 높다
3. 단항 연산자와 대입 연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다
산술 변환(일반 산술 변환)
- 연산 전에 피연산자 타입의 일치를 위해 자동 형변환되는 것
- 이항 연산뿐만 아니라 단항 연산에서도 일어남
1. 두 피연산자의 타입을 같게 일치시킨다 (보다 큰 타입으로 일치)
ex)
long + int -> long + long -> long
float + int -> float + float -> float
double + float -> double + double -> double
2. 피연산자의 타입이 int보다 작은 타입이면 int로 변환됨
ex)
byte + short -> int + int -> int
char + short -> int + int -> int
일반 산술 변환 요약
- 연산 수행 직전에 발생하는 피연산자의 자동 형변환
1. 두 피연산자의 타입을 같게 일치시킨다 (보다 큰 타입으로 일치)
2. 피연산자의 타입이 int보다 작은 타입이면 int로 변환된다
'Backend > Java' 카테고리의 다른 글
자바의 정석 정리(14) - 산술 연산자 (0) | 2022.05.27 |
---|---|
자바의 정석 정리(13) - 단항 연산자 (0) | 2022.05.26 |
자바의 정석 정리(11) - 형변환 ② (0) | 2022.05.25 |
자바의 정석 정리(10) - 형변환 ① (0) | 2022.05.24 |
자바의 정석 정리(9) - 실수형 (0) | 2022.05.23 |