Какие бывают проблемы с арифметикой в Java?
Числа относятся к примитивным типам, поэтому они занимают в памяти определённое, не безграничное пространство, что накладывает ограничения на диапазон значений. Если в результате выполнения математической операции получится число, выходящее за эти пределы, то возникает ошибка переполнения.
В этом случае помогут методы с суффиксом *Exact, находящиеся в стандартном классе Math. В этом случае при переполнении появится исключение, которое можно будет работать.
Java-машина выполняет операции настолько точно, насколько позволяют возможности используемого оборудования. Это может быть недопустимо в некоторых случаях. С помощью модификатора strictfp можно привести точность выполнения математических операций к единому международному стандарту IEEE 754. Но это может ухудшить точность и скорость вычислений.
При выполнении арифметических операций может возникнуть исключение, например при делении на 0. Это говорит о логической ошибке, допущенной при написании программы. Нужно проверить код и добавить необходимое количество Unit-тестов.
Peer-to-peer собеседования
Обучающая платформа AndroidSprint
Практика собеседований с менторами и другими студентами. Реальные вопросы по Kotlin, Android и Backend
- Живые собеседования: практикуйте интервью с менторами и коллегами-студентами
- Реальные вопросы: база вопросов по Kotlin, Android, Backend и QA
- Фидбек: обратная связь после каждого собеседования — знаете, что улучшить