연산자 종류
- 산술 연산자
- 비교 연산자
- 논리 연산자
- 대입 연산자
산술 연산자
사칙 연산
+ : 덧셈
- : 뺄셈
* : 곱셈
/ : 몫 연산
% : 나머지 연산
비트 연산
- Bit의 자리수를 옮기는 연산
<< : 쉬프트 연산
ex. 3 << 2
결과 : 3 * 2 * 2 = 12 // 3에 2를 2번 곱하는 효과
ex. 16 << 2
결과 : 16 / 2 / 2 = 4 // 16에 2를 2번 나누는 효과
비교 연산자
- 크고 작음과 같고 다름을 비교
- 참/거짓 값인 boolean 값을 출력
> : 초과
< : 미만
>= : 이상
<= : 이하
== : 같다
!= : 다르다
논리 연산자
- 그리고(AND)와 또는(OR)으로 조건을 연결
&& : 그리고
|| : 또는
! : 아닌 = 피연산자의 반대 boolean 값
대입 연산자
- 우변의 값을 좌면에 저장, 연산 복합 대입
= : 대입하기
++ : 피연산자에 1더해주기
++num; 피연산자보다 앞에 올 경우 : 연산을 수행하기 전에 1을 더해주기
num++; 피연산자보다 뒤에 올 경우 : 연산을 수행한 후에 1을 더해주기
-- : 피연산자에 1빼주기
--num; 피연산자보다 앞에 올 경우 : 연산을 수행하기 전에 1을 빼주기
num--; 피연산자보다 뒤에 올 경우 : 연산을 수행한 후에 1을 빼주기
기타 연산자
(type) : 형변환 연산자
: 임시로 형변환하는 연산자
조건 ? True일 때 결과 : False일 때 결과 : 삼항 연산자
: 비교 연산의 결과값에 따라 응답할 값을 직접 지정할 수 있는 연산자
(객체명) instance of (클래스명) : instance of 연산자
: 피연산자가 명시된 클래스의 객체인지 비교하여 참/거짓을 응답해주는 연산자
연산자 우선순위
- 연산자 우선순위 : 산술 > 비교 > 논리 > 대입
- 위 우선순위에 따라 최종적인 응답값이 결정
- 단, 괄호 ( )로 감싸주면 괄호안의 연산이 최우선순위로 연산
산술변환
- 연산 전에 두 피연산자의 타입을 일치시킨 후 연산을 수행한다.
- 피연산자의 타입이
int 보다 작은 short 타입이면 int 로 변환
- 피연산자의 타입이
long 보다 작은 int, short 타입이면 Long 으로 변환
- 피연산자의 타입이
float보다 작은 long, int, short 타입이면 float 으로 변환
- 피연산자의 타입이
double 보다 작은 float, long, int, short 타입이면 double 으로 변환