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 % 3은 2와 같습니다. 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.0은 1.2가 아니라 1.2000000000000002를 출력합니다. 이것은 정상적인 부동 소수점 동작이며, 코드의 실수가 아닙니다.
또 다른 예시:
double result = 7.5 % 3.5;
// 결과는 0.5챌린지
초급세 개의 변수 a (int), b (double), c (int)를 각각 9, 2.6, 11의 값으로 초기화하는 코드를 작성하세요.
그 후, 다음 변수들을 초기화하세요:
d (int):a를2로 나눈 나머지(modulo) 값을 저장합니다.e (int):a를3으로 나눈 나머지 값을 저장합니다.f (double):b를1.5로 나눈 나머지 값을 저장합니다.g (double):b를3.9로 나눈 나머지 값을 저장합니다.h (int):c를10으로 나눈 나머지 값을 저장합니다.
결과를 확인하고 서로 다른 피제수(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);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else