목차
1. 산술 연산자의 종류와 특징
📌 산술연산자
숫자를 계산하는 데 사용되며, 기본적인 사칙연산을 포함합니다.
| 연산자 | 설명 | 예제 |
| + | 덧셈 | 10 + 5 → 15 |
| - | 뺄셈 | 10 - 5 → 5 |
| * | 곱셈 | 10 * 5 → 50 |
| / | 나눗셈 | 10 / 5 → 2 |
| % | 나머지 | 10 % 3 → 1 |
나머지 연산 %은 나눗셈을 수행한 후 나머지 값을 반환하는 연산자로,
짝수/홀수 판별, 배수 체크 등에 자주 사용됩니다.
int a = 10;
int b = 3;
System.out.println(a + b); // 13
System.out.println(a - b); // 7
System.out.println(a * b); // 30
System.out.println(a / b); // 3 (정수 나눗셈)
System.out.println(a % b); // 1 (10을 3으로 나눈 나머지)
2. 산술 연산 시 주의사항
1) 정수형 나눗셈
Java에서 int / int의 결과는 정수형입니다. 즉, 소수점 이하 값은 버려집니다.
System.out.println(10 / 3); // 결과: 3 (소수점 버려짐)
System.out.println(10.0 / 3); // 결과: 3.333333 (실수형 나눗셈)
해결 방법: 나눗셈 결과가 정확한 실수 값을 원한다면, 하나 이상의 피연산자를 double로 변환해야 합니다.
System.out.println(10 / 3.0); // 결과: 3.333333
2) 나눗셈에서 0으로 나누기
- 정수를 0으로 나누면 오류 발생 (ArithmeticException 발생)
- 실수를 0으로 나누면 Infinity 또는 NaN 반환
System.out.println(10 / 0); // 오류 발생
System.out.println(10.0 / 0); // Infinity
System.out.println(0.0 / 0.0); // NaN (Not a Number)
3. 대입 연산자 (=, +=, -=, *=, /=, %=)
1) 기본 대입 연산자 (=)
대입 연산자는 변수에 값을 저장할 때 사용됩니다.
int a = 10; // 변수 a에 10 저장
int b = 20; // 변수 b에 20 저장
2) 복합 대입 연산자 (+=, -=, *=, /=, %=)
산술 연산자와 대입 연산자를 함께 사용할 수 있습니다.
| 연산자 | 동등한 표현 | 설명 |
| += | a = a + b | a에 b를 더한 후 저장 |
| -= | a = a - b | a에서 b를 뺀 후 저장 |
| *= | a = a * b | a에 b를 곱한 후 저장 |
| /= | a = a / b | a를 b로 나눈 후 저장 |
| %= | a = a % b | a를 b로 나눈 나머지를 저장 |
int x = 10;
x += 5; // x = x + 5 → 15
x -= 2; // x = x - 2 → 13
x *= 3; // x = x * 3 → 39
x /= 3; // x = x / 3 → 13
x %= 4; // x = x % 4 → 1
System.out.println(x);
복합 대입 연산자는 코드의 가독성을 높이고 연산을 간결하게 표현할 수 있도록 도와줍니다.
4. 산술 연산자와 대입 연산자의 차이
| 비교 항목 | 산술 연산자 | 대입 연산자 |
| 역할 | 연산 수행 | 값 저장 |
| 예제 | a + b, x * y | a = b, x += 2 |
| 반환값 | 연산 결과 반환 | 연산 후 값을 변수에 저장 |
| 사용 예 | int result = 10 + 5; | int a = 10; a += 5; |
마무리
다음 게시글에서는 증감 연산자와 조건(삼항) 연산자에 대해 학습하겠습니다.
'study > Programming' 카테고리의 다른 글
| [JAVA 기초] 비교 연산자와 논리 연산자 (1) | 2025.04.15 |
|---|---|
| [JAVA 기초] 증감 연산자와 조건(삼항) 연산자 (1) | 2025.04.14 |
| [JAVA 기초] Java 연산자 개요 및 분류 (1) | 2025.04.12 |
| [JAVA 기초] 상수(final) (1) | 2025.04.11 |
| [JAVA 기초] 오버플로우와 언더플로우 (1) | 2025.04.10 |