연산자와 연산식
- 연산이란?
데이터를 처리하여 결과를 산출하는 것
연산자(Operations)
- 연산에 사용되는 표시나 기호 ( + , - , * , / , % , = , ··· )
피연산자(Operand)
연산식(Expressions)
- 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것
- 연산자의 종류

연산의 방향과 우선 순위
- 연산의 방향과 우선 순위
연산자의 우선 순위에 따라 연산된다.

동일한 우선 순위의 연산자는 연산의 방향 존재
* , / , % 는 같은 우선순위를 갖고있다. 이들 연산자는 연산 방향이 왼쪽에서 오른쪽으로 수행된다.
100 * 2 가 제일 먼저 연산되어 200이 산출되고, 그 다음 200 / 3 이 연산되어 66 이 산출된다. 그 다음으로 66 % 5 가 연산되어 1 이 나온다.

하지만 단항 연산자 ( ++ , -- , ~ , ! ), 부호 연산자( + , - ), 대입 연산자( = , += , -= , ··· )는 오른쪽에서 왼쪽(←)으로 연산된다. 예를 들어 다음 연산식을 보자.

단항 연산자
- 단항 연산자란?
피연산자가 1개인 연산자
- 단항 연산자의 종류
부호 연산자 : + , -
- boolean 타입과 char 타입을 제외한 기본 타입에 사용 가능
- 부호 연산자의 산출 타입은 int
증감 연산자 : ++ , --
- 변수의 값을 1증가 시키거나(++) 1감소(--) 시키는 연산자
- 증감 연산자가 변수 뒤에 있으면 다른 연산자 먼저 처리 후 증감 연산자 처리
논리 부정 연산자 : !
- boolean type 에만 사용가능

비트 반전 연산자 : ~
- byte, short, int, long 타입만 피연산자가 될 수 있다.
- 비트값을 반전(0 1, 1 0) 시킨다

이항 연산자
- 이항 연산자란?
피연산자가 2개인 연산자
종류
- 산술 연산자 : + , - , * , / , %
- 문자열 연결 연산자 : +
- 대입 연산자 : = , += , -= , *= , /= , %= , &= , ^= , |= , <<= , >>= , >>>=
- 비교 연산자 : < , <= , > , >= , == , !=
- 논리 연산자 : && , || , & , | , ^ , !
- 비트 논리 연산자 : & , | , ^
- 비트 이동 연산자 : << , >> , >>>
- 산술 연산자
boolean 타입을 제외한 모든 기본 타입에 사용 가능
결과값 산출할 때 Overflow 주의
정확한 계산은 정수를 사용
NaN과 Infinity 연산은 주의할 것


- 문자열 연산자
피연산자 중 문자열이 있으면 문자열로 결합

- 비교 연산자 ( == , != , < , > , <= , >= )
대소( < , <= , > , >= ) 또는 동등( == , != ) 비교해 boolean 타입인 true / false 산출

동등 비교 연산자는 모든 타입에 사용
크기 비교 연산자는 boolean 타입 제외한 모든 기본 타입에 사용
흐름 제어문인 조건문(if), 반복문(for, while)에서 주로 사용
- 논리 연산자 ( && , || , & , | , ^ , ! )
논리곱( && ), 논리합( || ), 배타적 논리합( ^ ), 논리 부정( ! ) 연산 수행
피연산자는 boolean 타입만 사용 가능

- 비트 연산자 ( & , | , ^ , ~ , << , >> , >>> )
비트(bit) 단위로 연산 하므로 0과 1이 피연산자
- 0과 1로 표현이 가능한 정수 타입만 비트 연산 가능
- 실수 타입인 float과 double은 비트 연산 불가
종류
- 비트 논리 연산자 ( & , | , ^ , ~ )
- 비트 이동 연산자 ( << , >> , >>> )
- 비트 논리 연산자 ( & , | , ^ , ~ )
피연산자가 boolean타입일 경우 일반 논리 연산자
피연산자가 정수 타입일 경우 비트 논리 연산자로 사용
비트 연산자는 피연산자를 int타입으로 자동 타입 변환 후 연산 수행

- 비트 이동 연산자 ( << , >> , >>> )
정수 데이터의 비트를 좌측 또는 우측으로 밀어 이동시키는 연산 수행

- 대입 연산자 ( = , += , -= , *= , /= , %= , &= , ^= , |= , <<= , >>= , >>>= )
오른쪽 피연산자의 값을 좌측 피연산자인 변수에 저장
모든 연산자들 중 가장 낮은 연산 순위 -> 제일 마지막에 수행
종류
- 단순 대입 연산자
- 복합 대입 연산자
정해진 연산을 수행한 후 결과를 변수에 저장
- 대입 연산자의 종류

삼항 연산자
- 삼항 연산자란?
세 개의 피연산자를 필요로 하는 연산자
앞의 조건식 결과에 따라 콜론 앞 뒤의 피연산자 선택 -> 조건 연산식

