Zaokrąglanie i ograniczenia w Math
floor, ceil, round, min, max
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.
floorzaokrągla w dół,ceilw górę, arounddo 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.floorDivifloorModspójnie obsługują liczby ujemne.
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
- Klasa Math
- Generowanie liczb losowych
- Losowe zakresy i tasowanie
- Zaokrąglanie i ograniczenia w Math