Вчера я заметил нечто странное. Я писал код, который должен был составлять графики в сложных квадрантах. Во всяком случае, я набрал int i = 1/0;
, и он не компилировался. Когда я изменил код на double i = 1.0/0.0;
, код был скомпилирован. Когда я запускал код, он выдавал ошибку/на 0. Я ожидал этого ... Но почему он компилируется отлично при использовании парных, а не целых чисел? Я использую Blue J IDEJava «Ошибки» с математикой - int vs Double
ответ
Разделение значения int
на ноль приведет к ArithmeticException
, поэтому выражение 1/0
является незаконным.
В результате деления значения double
на ноль бесконечность или NaN
*, так что выражение 1.0/0.0
является законным.
*) См комментарий t_over для специфики:
Просто добавьте .. Деление отрицательного числа на 0.0 равно отрицательной бесконечности, а деление нуля на ноль приводит к Double.NaN –
спасибо @t_over я ценю дополнительное разъяснение :) – ChriskOlson
- 1. Java int vs. Double
- 2. Int vs Double in assembly
- 3. Int vs Double на Python
- 4. Double vs Float - Java
- 5. Java: double vs float
- 6. Java Double vs BigDecimal
- 7. Различные ответы при преобразовании Double в Int - Java vs .Net
- 8. Преобразование double в int (java)
- 9. отображение matrice double int java
- 10. Java Double vs double: тип класса vs примитивный тип
- 11. Java-метод возвращает double | int
- 12. Float vs double Math Java
- 13. Java raytracing float vs double
- 14. Почему int = int * double дает ошибку, а int * = double - нет (в Java)?
- 15. Перегрузка неоднозначная (int -> int64_t vs int -> double)
- 16. Проблема с математикой в java
- 17. long double vs double
- 18. Хотите масштабировать int до int с целочисленной математикой
- 19. Java: Enum vs. Int
- 20. Проблема с `int` vs.` double` - почему моя программа не работает?
- 21. Haskell: Преобразование Double to Int
- 22. Ошибка логики Java с базовой математикой
- 23. Использование double vs Double в объявлении переменной
- 24. Java Возможная конверсия Lossy Double to Int
- 25. double vs. double * in C++
- 26. Java-make int array или double array
- 27. Java arithmetic int vs. long
- 28. java-тестирование, если double является int
- 29. Java - Тип вывода (String, int, char, double)
- 30. Начав изучать Java 'Int' и 'Double'
Они оба компилировать хорошо для меня, и ИНТ версия выдает ошибку, которая, как ожидается, поведение, насколько я знаю. Вы уверены, что вы не перепутали их в своей голове? – Vitruvius
Я думаю, что гораздо лучшее объяснение можно найти здесь: http://stackoverflow.com/questions/2381544/why-doesnt-java-throw-an-exception-when-dividing-by-0-0 –
Также третий вопрос: http://stackoverflow.com/questions/21380499/is-this-declaration-possible/21380590 – Radiodef