0Pricing
Java Academy · 강의

수학적 반올림과 한계

floor, ceil, round, min, max를 알아봅니다

수학적 반올림과 한계은(는) CoddyKit의 무료 Java Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Java Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

반올림과 범위 제한

이 레슨에서는 Math의 반올림 관련 메서드인 floor, ceil, round와 min, max를 사용하여 값을 범위 안으로 제한하는 방법을 다룹니다.

Math.floor

Math.floor는 가장 가까운 정수 값으로 내림하고 double을 반환합니다. Math.floor(2.9)의 결과는 2.0입니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.floor(2.9));
        System.out.println(Math.floor(-2.1));
    }
}

Math.ceil

Math.ceil은 올림합니다. Math.ceil(2.1)의 결과는 3.0이고, Math.ceil(-2.9)의 결과는 -2.0입니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.ceil(2.1));
        System.out.println(Math.ceil(-2.9));
    }
}

Math.round

Math.round는 가장 가까운 정수로 반올림하며, 중간값인 .5는 올림합니다. double 인수를 전달하면 long을 반환합니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.round(2.4));
        System.out.println(Math.round(2.5));
        System.out.println(Math.round(-2.5));
    }
}

음수 반올림의 함정

음수에서는 floor가 더 작은 값으로 내려가고 ceil은 0을 향해 올라갑니다. Math.round(-2.5)의 결과가 -2인 이유는 0.5를 올림하기 때문입니다(양의 무한대 방향).

형 변환에 의한 버림

double을 int로 형 변환하면 단순히 소수 부분을 버립니다(0을 향해 버림). 이는 음수에서 floor를 사용하는 것과 다릅니다.

public class Main {
    public static void main(String[] args) {
        System.out.println((int) 2.9);
        System.out.println((int) -2.9);
        System.out.println((int) Math.floor(-2.9));
    }
}

범위 제한으로 사용하는 최솟값과 최댓값

Math.max와 Math.min을 조합하면 값을 특정 범위 안으로 제한할 수 있습니다. Math.max(0, Math.min(100, v))는 v를 0에서 100 사이로 유지합니다.

public class Main {
    public static void main(String[] args) {
        int v = 130;
        int clamped = Math.max(0, Math.min(100, v));
        System.out.println(clamped);
    }
}

Math.clamp

최신 Java에는 값의 범위를 직접 제한하는 Math.clamp(value, min, max)가 추가되어, 중첩된 최솟값/최댓값 호출보다 읽기 쉽습니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.clamp(130, 0, 100));
        System.out.println(Math.clamp(-5, 0, 100));
        System.out.println(Math.clamp(50, 0, 100));
    }
}

floorDiv and floorMod

정수 나눗셈은 0을 향해 버림하므로 음수를 사용할 때 예상과 다를 수 있습니다. Math.floorDiv와 Math.floorMod는 음의 무한대를 향해 반올림하여 일관된 결과를 제공합니다.

public class Main {
    public static void main(String[] args) {
        System.out.println(-7 / 2);
        System.out.println(Math.floorDiv(-7, 2));
        System.out.println(Math.floorMod(-7, 2));
    }
}

소수 자릿수까지 반올림하기

N자리까지 반올림하려면 먼저 값을 확대하고, 반올림한 다음, 다시 축소합니다. 예를 들어 Math.round(x * 100.0) / 100.0을 사용하면 x를 소수점 이하 2자리까지 반올림할 수 있습니다.

public class Main {
    public static void main(String[] args) {
        double price = 3.14159;
        double rounded = Math.round(price * 100.0) / 100.0;
        System.out.println(rounded);
    }
}

반올림 방식 선택하기

항상 내림하려면 floor, 항상 올림하려면 ceil, 가장 가까운 값으로 반올림하려면 round, 버림하려면 형 변환을 사용합니다. 범위를 제한할 때는 Math.clamp를 우선 사용하십시오.

빠른 확인

반올림에 대한 이해도를 테스트해 보십시오.

복습

반올림과 범위 제한을 배웠습니다.

  • floor는 내림하고, ceil은 올림하며, round는 가장 가까운 값으로 반올림합니다(동일한 거리는 올림).
  • 형 변환은 0을 향해 버림합니다.
  • Math.clamp(또는 중첩된 최솟값/최댓값 호출)는 값을 특정 범위 안으로 제한합니다.
  • floorDiv와 floorMod는 음수를 일관되게 처리합니다.

자주 묻는 질문

“수학적 반올림과 한계” 강의는 무료인가요?

네 — “수학적 반올림과 한계” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Java Academy 강의 전체를 잠금 해제할 수 있습니다. Java Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“수학적 반올림과 한계”에서 뭘 배우나요?

floor, ceil, round, min, max를 알아봅니다 브라우저에서 직접 실행하는 실습 코드로 Java Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Java Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Java Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“수학적 반올림과 한계” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Java Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Java Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Math 클래스
  2. 난수 생성
  3. 난수 범위와 섞기
  4. 수학적 반올림과 한계
← Java Academy(으)로 돌아가기