Menu
Coddy logo textTech

Modulo Operator

Coddy Java 여정의 기초 섹션에 포함된 레슨 — 73개 중 16번째.

나머지 연산자 %는 나눗셈의 나머지를 구합니다. Java에서 이 연산자는 다음과 같은 간단한 구문으로 사용됩니다:

result = dividend % divisor;
  • dividend: 나누어지는 수.
  • divisor: 나누어지는 수를 나누는 수.
  • result: 나눗셈의 나머지.

예를 들어:

result = 10 % 3;

여기서 10을 3으로 나눕니다. 3은 10에 세 번 들어가고, 나머지는 1이 됩니다. 따라서 result는 1이 됩니다.

피제수가 제수보다 작으면 어떻게 될까요? 이 경우, 제수는 0번 들어가므로 나머지는 단순히 피제수 자체가 됩니다. 예를 들어, 2 % 32와 같습니다. 3은 2에 0번 들어가고 2가 남기 때문입니다.

보통 나머지 연산(modulo)은 숫자가 짝수인지 홀수인지 확인하는 데 사용됩니다:

  • 숫자가 짝수이면, 2로 나누었을 때 나머지가 0이 됩니다.
  • 숫자가 홀수이면, 2로 나누었을 때 나머지가 1이 됩니다.

부동 소수점 숫자(double)와 함께 나머지 연산(modulo)을 사용할 때, 정수와 유사하게 작동하지만 소수점 정밀도를 유지합니다. 예를 들어:

double result = 5.5 % 2.0;
// 결과는 1.5입니다

작동 방식은 다음과 같습니다. 2.0은 5.5에 두 번 들어가고(4.0), 나머지는 1.5입니다(5.5 - 4.0 = 1.5).

참고: double 값은 근사치로 저장되므로 일부 나머지는 아주 작은 오차와 함께 출력됩니다. 예를 들어 5.2 % 2.01.2가 아니라 1.2000000000000002를 출력합니다. 이것은 정상적인 부동 소수점 동작이며, 코드의 실수가 아닙니다.

또 다른 예시:

double result = 7.5 % 3.5;
// 결과는 0.5
challenge icon

챌린지

초급

세 개의 변수 a (int), b (double), c (int)를 각각 9, 2.6, 11의 값으로 초기화하는 코드를 작성하세요.

그 후, 다음 변수들을 초기화하세요:

  • d (int): a2로 나눈 나머지(modulo) 값을 저장합니다. 
  • e (int): a3으로 나눈 나머지 값을 저장합니다.
  • f (double): b1.5로 나눈 나머지 값을 저장합니다.
  • g (double): b3.9로 나눈 나머지 값을 저장합니다.
  • h (int): c10으로 나눈 나머지 값을 저장합니다.

결과를 확인하고 서로 다른 피제수(dividend)와 제수(divisor)가 결과에 어떤 영향을 미치는지 살펴보세요.

직접 해보기

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);
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨