연산자 : 연산을 수행하는 기호(+, -, *, / 등)이며 연산자는 피연산자로 연산을 수행하고 나면 항상 결과 값을 반환.
피연산자 : 연산자의 작업대상(변수, 상수, 리터럴, 수식)
evaluation : 연산자를 사용할 때, 식을 평가하지 않으면 결과는 얻었지만, 값은 어디에도 쓰이지 않고 사라지게 된다.
단항연산자(ex. ++, --, +, -, ~, !, (type))와 대입연산자(ex. =, +=, <<= 등)을 제외한 연산의 진행방향은 왼쪽에서 오른쪽이다.
단항연산자
- 증감 연산자(++) : 피연산의 값을 1 증가시킨다.
- 감소 연산자(--) : 피연산자의 값을 1감소 시킨다.
※증감 연산자에는 전위형과 후위형이 있으며 전위형은 값이 참조되기 전에 증감시키며, 후위형은 값이 참조되고 난 후에 증감시킨다. (전위형 : ++ i, 후위형 : i++)
- 부호 연산자 : -는 피연산자의 부호를 반대로 변경한 결과
산술 연산자
- 사칙 연산자 : + - * / 올바른 연산 결과를 얻기 위해서 두 피연산자중 어느 한쪽을 실수형으로 형변환하면 다른쪽도 자동형변환이 되어 실수의 값을 얻을 수 있다. 실수의 경우 0을나누면 에러가 나지 않지만 정수의 경우 에러가 생긴다.
byte의 경우에도 컴파일러가 byte형을 int형으로 형변환 시켜주기에 byte 타입에 저장하려 하면 에러가 생긴다. - 나머지 연산자 : 왼쪽의 피연산자를 오른쪽 피연산자로 나누고 난 나머지 값
비교연산자
- 대소비교 연산자 : < > <= >= 참이면 true 거짓이면false를 반환한다. boolean을 제외한 나머지 자료형에서는 사용가능하지만 참조형에서는 사용 불가능하다.
- 등가비교 연산자 : == != 두피연산자의 값이 같은지 또는 다른지를 비교하는 연산자이다. 기본형과 참조형 모든 자료형에서 사용가능하다. 참조형에서는 객체의 주소값을 비교한다.
- 문자열 비교 : == 대신 .equals를 사용하여야 한다. 두문자열이 완전히 같은것임을 비교할 뿐이며 문자열은 상수로 취급되어 따로 저장된다. 마찬가지로 true false를 반환한다.
논리연산자
- ||(or 결합) : 피연산자중 어느 한쪽만 true이면 true를 결과로 얻는다.
- &&(and결합) : 피연산자 양쪽 모두 true여야 true를 결과로 얻는다.
비트연산자
- |(or연산자) : 피연산자 중 한쪽의 값이 1이면 1을 결과로 얻으며 그 외는 0을 얻는다.
- &(and연산자) : 피연산자 양 쪽이 모두 1이여야만 1을 결과로 얻는다. 그외에 0을 얻는다.
- ^(XOR 연산자) : 피연산자의 값이 서로 다를때만 1을 결과로 얻는다. 같을때는 0을 얻는다.
- ~(비트전환 연산자) : 피연산자를 2진수로 표현 하였을때, 0은 1로 1은 0으로 바꾼다. 논리부정 연산자의 !와 유사하다.
- 쉬프트연산자 : << >> 2진수로 표현시 오른쪽 또는 왼쪽으로 이동하는 것을 말한다.
조건연산자
- 조선식 ? 식1 : 식2 : 형태인데 조건식이 참이면 식1이나오고 거짓이면 식 2가 출력되는 형태이다.
대입연산자
= op= 변수와 같은 저장공간에 값 또는 수식의 연산결과를 저장하는데 사용
복합 대입 연산자
대입연산자는 다른 연산자(op)와 결합하여 op= 과 같은 방식으로 사용될 수 있다. (ex += )
댓글