나머지 연산자
Coddy Java 여정의 기초 섹션에 포함된 레슨. 73개 중 16번째.
모듈로 연산자 %는 나눗셈의 나머지를 구합니다. Java에서는 다음과 같은 간단한 구문으로 사용합니다:
result = dividend % divisor;- dividend: 나누어지는 수.
- divisor: dividend를 나누는 수.
- result: 나눗셈의 나머지.
예를 들어:
result = 10 % 3;여기서는 10을 3으로 나눕니다. 3은 10에 세 번 들어가고, 나머지는 1입니다. 따라서 result는 1이 됩니다.
dividend가 divisor보다 작으면 어떻게 될까요? 이 경우 divisor는 0번 들어가므로 나머지는 단순히 dividend 자체입니다. 예를 들어, 2 % 3은 2와 같습니다. 3은 2에 0번 들어가고 2가 남기 때문입니다.
일반적으로 모듈로는 어떤 수가 짝수인지 홀수인지 확인하는 데 사용됩니다:
- 어떤 수가 짝수라면, 그 수를 2로 나눌 때 나머지는 0이 됩니다.
- 어떤 수가 홀수라면, 그 수를 2로 나눌 때 나머지는 1이 됩니다.
부동 소수점 숫자(double)에 모듈로를 사용할 때는 정수와 비슷하게 작동하지만 소수점 정밀도를 유지합니다. 예를 들면 다음과 같습니다.
double result = 5.5 % 2.0;
// result는 1.5입니다작동 방식은 다음과 같습니다. 2.0은 5.5에 두 번 들어가며(4.0), remainder는 1.5입니다(5.5 - 4.0 = 1.5).
참고: double 값은 근사값으로 저장되므로 일부 remainder가 아주 작은 오차와 함께 출력됩니다. 예를 들어 5.2 % 2.0은 1.2가 아니라 1.2000000000000002로 출력됩니다. 이는 정상적인 부동 소수점 동작이며, 코드의 실수가 아닙니다.
또 다른 예시:
double result = 7.5 % 3.5;
// result는 0.5입니다챌린지
초급a (int), b (double), c (int) 세 변수를 각각 9, 2.6, 11 값으로 초기화하는 코드를 작성하세요.
그런 다음 다음 변수들을 초기화하세요:
d (int):a를2로 나눈 나머지를 저장합니다.e (int):a를3으로 나눈 나머지를 저장합니다.f (double):b를1.5로 나눈 나머지를 저장합니다.g (double):b를3.9로 나눈 나머지를 저장합니다.h (int):c를10으로 나눈 나머지를 저장합니다.
결과를 확인하고 서로 다른 dividend와 divisor가 result에 어떤 영향을 미치는지 살펴보세요.
직접 해보기
public class Main {
public static void main(String[] args) {
// 아래에 코드를 작성하세요
// 아래 줄은 변경하지 마세요
System.out.println("a = " + a);
System.out.println("b = " + b);
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
System.out.println("g = " + g);
System.out.println("h = " + h);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 Java 컴파일러