Java Academy · Lekcja

Zaokrąglanie i ograniczenia w Math

floor, ceil, round, min, max

Lekcja 4 z 413 kroki

Zaokrąglanie i ograniczenia w Math to bezpłatna lekcja Java Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Java Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Java Academy zawiera 4 lekcji w sumie.

Zaokrąglanie i ograniczenia

Ta lekcja koncentruje się na grupie metod Math związanych z zaokrąglaniem (floor, ceil, round) oraz na ograniczaniu wartości za pomocą min i max.

Math.floor

Math.floor zaokrągla w dół do najbliższej wartości całkowitej, zwracając double. Math.floor(2.9) daje 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 zaokrągla w górę. Math.ceil(2.1) daje 3.0, a Math.ceil(-2.9) daje -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 zaokrągla do najbliższej liczby całkowitej, a w przypadku wartości pośrednich (.5) zaokrągla w górę. Dla argumentu typu double zwraca wartość 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));
    }
}

Niespodzianki przy zaokrąglaniu liczb ujemnych

W przypadku liczb ujemnych floor przesuwa wynik w stronę większej wartości ujemnej, a ceil w stronę zera. Math.round(-2.5) daje -2, ponieważ zaokrągla połowy w górę, czyli w kierunku dodatniej nieskończoności.

Obcinanie przez rzutowanie

Rzutowanie double na int po prostu usuwa część ułamkową (obcina wartość w kierunku zera). W przypadku liczb ujemnych różni się to od działania 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));
    }
}

Min i max jako ograniczenia

Można połączyć Math.max i Math.min, aby ograniczyć wartość do zakresu. Math.max(0, Math.min(100, v)) utrzymuje v między 0 a 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

Współczesna Java oferuje Math.clamp(value, min, max), które bezpośrednio ogranicza wartość do zakresu i jest czytelniejsze niż zagnieżdżone wywołania 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 i floorMod

Dzielenie całkowite obcina wynik w kierunku zera, co przy liczbach ujemnych może zaskakiwać. Math.floorDiv i Math.floorMod zaokrąglają w kierunku ujemnej nieskończoności, zapewniając spójne wyniki.

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));
    }
}

Zaokrąglanie do miejsc po przecinku

Aby zaokrąglić do N miejsc po przecinku, zwiększ skalę, zaokrąglij, a następnie zmniejsz skalę: aby zaokrąglić x do 2 miejsc, użyj Math.round(x * 100.0) / 100.0.

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);
    }
}

Wybór metody zaokrąglania

Użyj floor, aby zawsze zaokrąglać w dół, ceil, aby zawsze zaokrąglać w górę, round, aby zaokrąglać do najbliższej wartości, a rzutowania, aby obcinać część ułamkową. Do ograniczania wartości do zakresu preferuj Math.clamp.

Szybki test

Sprawdź swoją wiedzę na temat zaokrąglania.

Podsumowanie

Zapoznałeś się z zaokrąglaniem i ograniczaniem wartości do zakresu.

  • floor zaokrągla w dół, ceil w górę, a round do najbliższej wartości (remisy w górę).
  • Rzutowanie obcina wynik w kierunku zera.
  • Math.clamp (lub zagnieżdżone min/max) ogranicza wartość do zakresu.
  • floorDiv i floorMod spójnie obsługują liczby ujemne.
Bezpłatny start

Ucz się Java dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
104
Lekcje
374

Często zadawane pytania

Czy lekcja „Zaokrąglanie i ograniczenia w Math” jest bezpłatna?

Tak — pełny tekst „Zaokrąglanie i ograniczenia w Math” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Java Academy, przejdź na CoddyKit PRO. Kurs Java Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Zaokrąglanie i ograniczenia w Math”?

floor, ceil, round, min, max Ćwiczysz Java Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Java Academy?

Nie wymagamy żadnego doświadczenia. Java Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Zaokrąglanie i ograniczenia w Math”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Java Academy?

Tak. Każda lekcja Java Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Klasa Math
  2. Generowanie liczb losowych
  3. Losowe zakresy i tasowanie
  4. Zaokrąglanie i ograniczenia w Math
← Powrót do Java Academy