연산자는 산출 방법에 따라 산술, 부호, 문자열, 대입, 증감, 비교 연산자로 구분하고, 피연산자 수에 따라 단항, 이항, 삼항 연산자로 구분함.
부호 연산자와 증감 연산자는 피연산자 하나만을 요구하므로 단항 연산자이고, 조건 연산자는 조건식 A,B와 같이 3개의 피연산자가 필요하므로 삼항 연산자라고 하며, 그 외의 연산자는 2개의 피연산자를 요구하므로 모두 이항 연산자.
// 단항 연산자:
++x;
// 이항 연산자:
x + y;
// 삼항 연산자:
(sum > 90) ? "A" : "B";
단항 연산자
피연산자가 단 하나뿐인 연산자를 말하며, 부호 연산자(+, -), 증감 연산자(++, --), 논리 부정 연산자( ! )가 있다.
부호 연산자
양수 및 음수를 표시하는 +, - 를 말하며 boolean타입과 char타입을 제외한 나머지 기본 타입에 사용할 수 있음.
| 연산식 | 설명 | |
| + | 피연산자 | 피연산자의 부호 유지 |
| - | 피연산자 | 피연잔자의 부호 변경 |
+, -는 산술 연산자이기도 하고 부호 연산자이기도 한데, 부호 연산자로 쓰일 때에는 하나의 피연산자만 필요함.
일반적으로 부호 연산자를 다음과 같이 정수 및 실수 리터럴 앞에 붙여 양수 및 음수를 표현.
int i1 = +100;
int i2 = -100;
double d1 = +3.14
double d2 = -10.5;
부호 연산자는 정수 및 실수 타입 변수 앞에도 붙일 수 있는데, 변수값의 부호를 유지하거나 바꾸기 위해 사용.
+ 연산자는 변수값의 부호를 유지하고 - 연산자는 변수값의 부호를 양수는 음수로, 음수는 양수로 바꿈.
int x = -100;
int result1 = +x;
int result2 = -x;
*주의할 점: 부호 연산자의 결과는 int 타입.
byte, short, char타입의 피연산자가 부호 연산을 만나면, 연산 결과는 자동으로 int 타입으로 형 변환되며, 피연산자가 이미 int, long, float, double타입인 경우에는, 연산 결과는 피연산자와 같은 타입을 유지합니다.
피연산자가 int보다 작은 정수 타입(byte, short, char)일 경우, 연산의 효율성과 오버플로우 방지 등을 위해 최소한 int 타입으로 승격되어 계산.

증감 연산자(++, --)
증감 연산자는 변수의 값을 1 증가(++)시키거나 1감소(--)시키는 연산자.
boolean타입을 제외한 모든 기본 타입의 피연산자에 사용 할 수 있음.
| 연산식 | 설명 | |
| ++ | 피연산자 | 다른 연산을 수행하기 전에 피연산자의 값을 1 증가시킴 |
| -- | 피연산자 | 다른 연산을 수행하기 전에 피연산자의 값을 1 감소시킴 |
| 피연산자 | ++ | 다른 연산을 수행한 후에 피연산자의 값을 1 증가시킴 |
| 피연산자 | -- | 다른 연산을 수행한 후에 피연산자의 값을 1 감소시킴 |
int x = 1;
int y = 1;
int result1 = ++x + 10;
int result2 = y++ + 10;
논리 부정 연산자 ( ! )
논리 부정 연산자는 true를 false로, false를 true로 변경하기 때문에 boolean 타입에만 사용할 수 있음.
또한 조건문과 제어문에서 조건식의 값을 부정하도록 해서 실행 흐름을 제어할 때 주로 사용하며, 두가지 상태(true/false)를 번갈아가며 변경하는 토글(toggle)기능을 구현할 때도 사용.
| 연산식 | 설명 | |
| ! | 피연산자 | 피연산자가 true이면 false 값을 산출 피연산자가 false이면 true 값을 산출 |
'Java' 카테고리의 다른 글
| [Java] 조건문: if문, switch문 (0) | 2025.11.02 |
|---|---|
| [Java] 연산자의 종류 - 이항 연산자 & 삼항 연산자 (0) | 2025.11.02 |
| [Java] 연산자 (3) | 2025.11.02 |
| [Java] 변수와 시스템 입출력 (0) | 2025.10.29 |
| [Java] 타입 변환 (0) | 2025.10.28 |