연산에 사용되는 표시나 기호를 연산자(Operator)라 하고, 연산자와 함께 연산되는 데이터를 피연산자(Operand)라 하며, 연산자와 피연산자를 이용하여 연산의 과정을 기술한 것을 연산식 (Expression)이라고 한다.

연산자의 종류
연산자들은 피연산자를 연산해서 값을 산출하는데, 산출되는 값의 타입(자료형)은 연산자별로 다르다.
산술 연산자일 경우는 숫자 타입(byte, short, int, long, float, double)으로 결과값이 나오고, 비교 연산자와 논리 연산자는 논리 타입(boolean)으로 결과값이 나옴.
| 연산자 종류 | 연산자 | 피연산자 수 | 산출값 | 기능 |
| 산술 | +, -, *, /, % | 이항 | 숫자 | 사칙연산 및 나머지 계산 |
| 부호 | +, - | 단항 | 숫자 | 음수와 양수의 부호 |
| 문자열 | + | 이항 | 문자열 | 두 문자열을 연결 |
| 대입 | =, +=, -=, *=, /=, %= | 이항 | 다양 | 우변의 값을 좌변의 변수에 대입 |
| 증감 | ++, -- | 단항 | 숫자 | 1만큼 증가/감소 |
| 비교 | ==, !=, >, <, >=, <=, instanceof | 이항 | boolean | 값의 비교 |
| 논리 | !, &, | , &&, || | 단항 이항 |
boolean | 논리 부정, 논리곱, 논리합 |
| 조건 | (조건식)? A : B | 삼항 | 다양 | 조건식에 따라 A 또는 B 중 하나를 선택 |
보통 연산식의 값은 변수에 저장하는데, x와 y 변수의 값을 더하고 나서 결과값을 result 변수에 저장.
int result = x + y;
연산식은 다른 연산식의 피 연산자 위치에 올 수도 있는데 아래 예시 처럼 비교 연산자인 <의 왼쪽 피연산자로 (x+y)라는 연산식이 사용되면 x와 y 변수의 값을 더하고 나서 5보다 작은지 검사한 후, 결과값(true or false)을 result 변수에 저장.
boolean result = (x + y) < 5;
연산의 방향과 우선순위
연산식에는 다양한 연산자가 복합적으로 구성된 경우가 많음.
x > 0 && y < 0;
위의 예시에선 &&보다는 >, <의 우선순위가 높기 때문에 x>0과 y<0이 먼저 처리되고, &&는 x>0과 y<0의 산출값을 가지고 연산을 함.
우선순위가 같은 연산자들끼리는 대부분 왼쪽에서 오른쪽 방향으로 연산을 수행하는데
100 * 2 / 3 % 5;
이 연산자들은 왼쪽에서 오른쪽 방향으로 연산되며 100*2가 제일 먼저 연산되어 200이 산출되고, 그다음 200/3이 연산되어 66이 산출됨. 마지막으로 66 % 5가 연산되어 결과값은 1이 됨.
하지만 단항 연산자(++, --, ~, !), 부호 연산자( +, -), 대입 연산자( =, +=, -=...)는 오른쪽에서 왼쪽방향으로 연산을 수행함.
a = b = c = 5;
이 연산식은 c=5, b=c, a=b 순서로 실행되는데, a,b,c의 값이 모두 5가 됨.
여러가지 연산자들이 섞여 있다면 어느 연산자가 먼저 처리될지 혼란스러울 수도 있으므로 괄호 ( )를 사용해 먼저 처리해야 할 연산식을 묶어주는 것이 좋음.
int var1 = 1;
int var2 = 3;
int var3 = 2;
int result = var1 + var2 * var3;
// var2 * var3을 먼저 산출 후 + var1이 됨.
// 만약 var1 + var2를 먼저 연산하고 싶다면
// int result = (var1 + var2) * var3;과 같이 괄호를 사용.
| 연산자 | 연산 방향 | 우선 순위 |
| 증감 ( ++, -- ), 부호 ( +, - ), 논리 ( ! ) | ← | 높음↕️낮음 |
| 산술 ( *, /, % ) | → | |
| 산술 ( +, - ) | → | |
| 비교 ( <, >, <=, >=, instanceof ) | → | |
| 비교 ( ==, != ) | → | |
| 논리 (&) | → | |
| 논리 (^) | → | |
| 논리 ( | ) | → | |
| 논리 ( && ) | → | |
| 논리 ( | | ) | → | |
| 조건 ( ?: ) | → | |
| 대입 ( =, +=, -=, *=, /=, %= ) | ← |
**
연산자 : 연산자의 종류를 결정짓는 기호를 말함.
연산자의 종류는 산술(+, -, *, /, %), 증감(++, --), 비교(==, !=, ...), 대입(=, +=, -=, ...)등이 있다.
피연산자: 연산식에서 연산되는 데이터(값)를 말합니다. 예를 들어, 연산식 3 + x에서는 3과 변수x가 피연산자.
연산 방향: 연산식에서 같은 종류의 연산자가 여러 개 사용될 경우 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 연산되는 방향이 있다.
대부분의 연산자는 왼쪽에서 오른쪽으로 연산이 되지만, 증감(++, --)과 대입(=, +=, -=)은 오른쪽에서 왼쪽으로 연산 됨.
연산 우선순위: 서로 다른 연산자들이 복합적으로 구성되면 우선적으로 연산되는 연산자가 있다.
하지만, 괄호 ()로 감싼 연산이 최우선순위를 갖기 때문에 복잡한 연산식에서 연산의 순서를 정하고 싶을때에는 괄호 ()를 이용하면 됨.
'Java' 카테고리의 다른 글
| [Java] 연산자의 종류 - 이항 연산자 & 삼항 연산자 (0) | 2025.11.02 |
|---|---|
| [Java] 연산자의 종류 - 단항 연산자 (0) | 2025.11.02 |
| [Java] 변수와 시스템 입출력 (0) | 2025.10.29 |
| [Java] 타입 변환 (0) | 2025.10.28 |
| [Java] 변수 (0) | 2025.10.28 |