연산자 : 연산을 수행하는 기호
피연산자 : 연산자의 작업대상(변수, 상수, 리터럴, 수식)
ex) x + 3 : + 연산자 x, 3 피연산자
연산자의 종류
1) 산술 연산자 : +, -, *, /, % 사칙연산과 나머지 연산
2) 비교 연산자 : >, <, <=, >=, ==, != 크고 작음, 같고 다름을 비교
3) 논리 연산자 : &&, ||, !, &, |, ^, ~ '그리고(AND)' 와 '또는(OR)'으로 조건을 연결
4) 대입 연산자 : = 우변의 값을 좌변에 저장
5) 기타 연산자 : (), ? :, instanceof, ++, --, 형변환 연산자, 삼항연산자, instanceof연산자, 단항 연산자
연산자 우선순위와 결합 규칙
1) 산술 > 비교 > 논리 > 대입순으로 단항 연산자가 가장 먼저, 대입연산자가 가장 마지막에 수행된다.
2) 단항(1) > 이항(2) > 삼항(3)순으로 연산자의 숫자에 따라 우선순위가 나뉜다.(삼항연산자는 대입연산자 바로 전에 수행)
3) 단항연산자와 대입연산자를 제외한 모든 연산의 진행방향은 왼쪽에서 오른쪽이다.
단항 연산자
++ : 피연산자의 값을 1 증가시킨다. ex) a++; // a가 1증가
-- : 피연산자의 값을 1 감소시킨다. ex) a--; // a가 1감소
전위형 : 값이 참조되기 전에 증가 ex) a = ++i; // a에 i를 1증가시킨값이 들어감
후위형 : 값이 참조된 후에 증가 증가 ex) a = i++; // a에 i값을 넣고 증가시킴 전위형, 후위형 둘다 값이 증가하긴 한다.
부호 연산자(+,-) : 음수, 양수표기에 사용한다.
조건 연산자(삼항연산자) 조건식 ? 식1 : 식2
조건 연산자는 조건식이 사실이면 식1을 반환하고, 거짓이면 식2를 반환하는 연산자
ex) x > y ? x : y; // x가 y보다 크면 x, 작거나 같으면 y를 반환
instanceof 연산자 A(변수) instanceof B(클래스)
A가 B의 인스턴스인지 체크하는 연산자, boolean형으로 값을 반환하며, true라면 형변환이 가능하다는 뜻으로 해석할 수 있다.