3.3 산술 연산자 (Arithmetic Operator)
산술 연산자는 우리가 흔히 수학에서 다루는 사칙연산과 나머지 연산을 포함합니다.
1. 사칙 연산자 (+, -, *, /)
덧셈, 뺄셈, 곱셈, 나눗셈을 수행합니다.
주의할 점은 나눗셈 연산자(/)입니다. 자바에서 두 정수 의 나눗셈 결과는 버림(Truncate)이 발생하여 언제나 정수 가 반환됩니다. 소수점 결과를 얻고 싶다면 두 피연산자 중 적어도 하나는 실수형이어야 합니다.
System.out.println(10 / 4); // 결과: 2 (소수점은 버려짐)
System.out.println(10 / 4.0); // 한 쪽이 double이므로 10도 10.0으로 자동 변환. 결과: 2.5
또한 0으로 나누는 행위(예: 5 / 0)는 실행 시 ArithmeticException 을 발생시키며 프로그램을 비정상 종료시킵니다. 단, 실수로 값을 0으로 나눌 경우(예: 5.0 / 0.0)는 에러가 발생하지 않지만 결과로 Infinity (무한대)를 반환합니다.
2. 나머지 연산자 (%)
왼쪽의 피연산자를 오른쪽 피연산자로 나누고 남은 나머지 값 을 결과로 반환하는 연산자입니다.
System.out.println(10 % 8); // 10을 8로 나눈 나머지인 2 출력
System.out.println(10 % -8); // 피연산자의 부호는 무시되므로 결과는 2 위와 동일
주로 활용되는 곳
나머지 연산자는 짝수/홀수 판별이나, 특정 범위 내의 값을 순환시킬 때 매우 유용하게 사용됩니다.
- 짝수/홀수 판별:
x % 2 == 0이면 짝수,1이면 홀수 - 배수 판별:
x % 3 == 0이면 3의 배수