반응형

- 연산자: 연산을 수행하는 기호
- 피연산자: 연산자의 연산 수행 대상
- 이 중 x, 3 = 피연산자
-
- = 연산자
x + 3
- 모든 연산자는 연산 결과를 반환 (연산 결과 반환 안하면 연산자 아님)
- 예
y = 4 * x + 3; System.out.println(y); // 화면에 23 출력 System.out.println(4 * x + 3); // 화면에 23 출력
4 * x + 3 -> 4 * 5 + 3 -> 23
- 연산자의 종류
종류 | 연산자 | 설명 |
---|---|---|
산술 연산자 | + - * / % << >> | 사칙연산 및 나머지 연산(%) |
비교 연산자 | > < ≥ ≤ == ≠ | 크고 작음과 같고 다름을 비교 |
논리 연산자 | $$ | |
대입 연산자 | = | 우변 값을 좌변에 저장 |
기타 | (type) ?: instanceof | 형변환 연산자, 삼항 연산자, instanceof 연산자 |
연산자 우선순위
- 한개 식에 연산자 둘 이상일 경우 어떤 연산을 먼저할지 자동 결정 (괄호를 쳐서 설정하는것은 수동 설정)
종류 | 결합규칙 | 연산자 | 우선순위 |
---|---|---|---|
단항 연산자 | ← | ++ — + | 높음 |
산술 연산자 | → | * / % | |
→ | + - | ||
→ | << >> | ||
비교 연산자 | → | < > ≤ ≥ instanceof | |
→ | == ≠ | ||
논리 연산자 | → | & | |
→ | ^ | ||
→ | |||
→ | && | ||
→ | |||
삼항 연산자 | → | ?: | |
대입 연산자 | ← | = += -= *= /= %= <≤ >≥ &= ^= | = |
- 단항 연산자 예시: 부호 | |||
- 단항 > 이항 > 삼항 | |||
- 산술 > 비교 > 논리 > 대입 | |||
- 산술연산자가 비교연산자보다 먼저 수행 | |||
- 비교연산자가 논리연산자보다 먼저 수행 | |||
- 대입연산자는 우선순위 가장 낮음 |
연산자 결합규칙
- 우선순위가 같은 연산자가 있을 때, 어떤 것을 먼저?
- 대입 및 단항 연산자(오른쪽 → 왼쪽)를 제외하면 모두 왼쪽 → 오른쪽
- 모든 연산자는 연산 결과를 반환
증감 연산자
- 증가 연산자: 피연산자 값을 1 증가(++)
- 감소 연산자: 피연산자 값을 1 감소(—)
- 전위형: 값이 참조되기 전 증가
- j = ++i;
- 후위형: 값이 참조된 후 증가
- j = i++;
- 증감 연산자가 독립적으로 사용된 경우 전위, 후위형 차이 없음
j = ++i;
# 같은 식
++i;
j = i;
j = i++;
# 같은 식
j = i;
i++;
부호 연산자
- ‘-’는 피연산자 부호를 반대로 변경
- ‘+’는 아무런 일도 하지 않는다 (실제 사용 안함)
'Programming' 카테고리의 다른 글
[Java]연산자(3) (1) | 2023.05.26 |
---|---|
[Java]연산자(2) (0) | 2023.05.25 |
[Java]변수(2) (0) | 2023.05.23 |
[Java]변수 (0) | 2023.05.22 |
자료구조: Heap (백준 24174번) (0) | 2023.05.15 |