| 연산자 분류 | 연산자 | 피연산자 수 | 산출값 | 기능 |
|---|---|---|---|---|
| 산술 | +, -, *, /, % | 이항 | 숫자 | 사칙연산 및 나머지 계산 |
| 부호 | +, - | 단항 | 숫자 | 음수와 양수 부호 |
| 문자열 | + | 이항 | 문자열 | 두 문자열을 연결 |
| 대입 | =, +=, -=, *=, /=, %= | 이항 | 다향 | 우변의 값ㅇ르 좌변의 변수에 대입 |
| 증감 | ++, — | 단항 | 숫자 | 1만큼 증가 및 감소 |
| 비교 | ==, !=, >, <, >=, <=, instanceof | 이항 | boolean | 값의 비교 |
| 논리 | !, &, | ,&&, || | 단항, 이항 | boolean | 논리 부정, 논리곱, 논리합 |
| 조건 | (조건식) ? A : B | 삼항 | 다양 | 조건식에 따라 A 또는 B중 하나 산출 |
자바에서 사용되는 연산자는 위 표와 같이 존재를 한다. 그럼 표에서 피연산자의 수를 기준으로 해당 연산자들의 동작을 확인 하자.
부호 연산자 (+, -)
해당 연산자는 boolean,char타입을 제외한 나머지 기본 타입에 사용이 가능하다. 해당 연산자는 양수및 음수를 표시한다.
주의점으로는 연산자의 결과가 int타입이라는 것이다. 예를 들어서 byte타입의 변수를 부호 연산을 하면 int타입으로 변환다는 것이다.
증감 연산자 (++, —)
부호 연산자와 비슷하게 boolean,char을 제외한 나머지 기본 타입의 피연산자에서 사용이 가능하다.
(증감식)(피연산자) or (피연산자)(증감식)
ex) ++i, i--
증감 연산자는 피연산자를 기준으로 앞이나 뒤에 위치할 수 있다. 증감 연산자가 앞에 올 경우 해당 변수를 사용하기 전 증감 계산을 진행 후 변수 사용을 하고, 피연산자 뒤에 올 경우 변수를 사용한 뒤 즘감식을 진행한다.
논리 부정 연산자( ! )
논리 부정 연산자는 boolean타입의 사용이 가능하며 해당 기능은 논리 타입의 값을 반전시킨다.
산술 연산자
산술 연산자는 논리 타입을 제외한 나머지 기본 타입에서 사용이 가능하다.
산순 연산자의 특징으로는 피연산들의 타입이 동일하지 않을 경우 아래와 같은 규칙으로 피연사자의 타입을 일치시킨 후 연산을 수행한다는 점이 있다.
byte, short, char타입일 경우 모두 int타입으로 변환된 후 연산을 수행한다.long타입이 포함되어 있을 경우, 모두 long타입으로 변환된 후 연산을 진행한다.float, double이 있을 경우, 허용 범위가 큰 실수 타입으로 변환하여 연산을 수행한다.문자열 결합 연산자
해당 연산자는 +를 사용하여 문자열을 서로 결합한다. 피연산자 중 하나가 문자열일 경우 해당 해당 부분은 문자열 결합으로 동작하여 문자열을 반환하게 된다.
비교 연산자
비교 연산은 피연산자의 대소관계 등을 통해서 참인지 거짓인지를 판별하여 논리 타입의 값을 반환하는 동작을 한다. 그렇기 때문에 조건문이나 반복문에서 주로 사용되어 실행 흐름을 제어하게 만들어 준다.
논리 연산자
논리 연산에서는 피연산자가 boolean타입만 사용할 수 있다.
| 구분 | 피연산자 | 연산자 | 피연산자 | 결과 |
|---|---|---|---|---|
| AND (논리곱) | ||||
| ture | && or & | true | true | |
| true | && or & | false | false | |
| false | && or & | true | false | |
| false | && or & | false | false | |
| OR (논리합) | ||||
| true | || or | | true | true | |
| true | || or | | false | true | |
| false | || or | | true | true | |
| false | || or | | false | false | |
| XOR (배타적 논리합) | ||||
| true | ^ | true | false | |
| true | ^ | false | true | |
| false | ^ | true | true | |
| false | ^ | false | false | |
| NOT (논리 부정) | ||||
| ! | true | false | ||
| ! | false | true |
| 구분 | 연산자 | 설명 |
|---|---|---|
| 단순 대입 연산자 | = | 오른쪽 피연산자의 값을 왼쪽 피연산자에 저장 |
| 복합 대입 연산자 | += (-=, *= ,…) | 변수 = 변수 + 피연산자와 동일 (+, -, *, …) |
| &= (&=, |=, ^=) | 변수 = 변수 & 피연산자와 동일 (&=, |=, ^=) |
삼항 연산자(?:)는 3개의 피연산자를 필요하다. 삼항 연산자는 ? 앞에 위치하는 조건식의 결과에 따라 콜론을 기준으로 앞과 뒤의 피연산자가 결정된다.
// 조건식 ? ①(값 또는 연산식) : ②(값 또는 연산식)
// 조건식이 참일 경우 : ①이 선택되어 반환
// 조건식이 거짓일 경우 : ②가 선택되어 반환
// Ex)
int x = 99;
String result = x >= 80 ? "초과" : "미만"; // result = "초과"