java浮点数除以0_为什么用浮点数(或双精度)将数字除以零不会在Java中抛出java.lang.Arithmetic...
下面的语句java.lang.ArithmeticException: / by zero很明显。
System.out.println(0/0);
因为文字0被视为int文字,并且在整数算术中不允许除以零。
但是,以下情况不会引发类似的任何异常java.lang.ArithmeticException: / by zero。
int a = 0;
double b = 6.199;
System.out.println((b/a));
显示Infinity。
以下语句NaN无例外地产生(非数字)。
System.out.println(0D/0); //or 0.0/0, or 0.0/0.0 or 0/0.0 - floating point arithmetic.
在这种情况下,两个操作数都被视为双精度。
同样,以下语句也不会引发任何异常。
double div1 = 0D/0; //or 0D/0D
double div2 = 0/0D; //or 0D/0D
System.out.printf("div1 = %s : div2 = %s%n", div1, div2);
System.out.printf("div1 == div2 : %b%n", div1 == div2);
System.out.printf("div1 == div1 : %b%n", div1 == div1);
System.out.printf("div2 == div2 : %b%n", div2 == div2);
System.out.printf("Double.NaN == Double.NaN : %b%n", Double.NaN == Double.NaN);
System.out.printf("Float.NaN == Float.NaN : %b%n", Float.NaN == Float.NaN);
它们产生以下输出。
div1 = NaN : div2 = NaN
div1 == div2 : false
div1 == div1 : false
div2 == div2 : false
Double.NaN == Double.NaN : false
Float.NaN == Float.NaN : false
它们都返回false.为什么用浮点数或双精度数允许此操作(除以零)?
顺便说一下,我可以理解,浮点数(双精度数)的值代表正无穷大, 负无穷大,而不是数字(NaN)...
java浮点数除以0_为什么用浮点数(或双精度)将数字除以零不会在Java中抛出java.lang.Arithmetic...相关推荐
- android socket握手,HttpURLConnection抛出java.net.SocketTimeoutException:在Android 4.1.1中SSL握手超时...
在Android 5.0及更高版本中运行时,我的代码运行正常.但是在Android 4.1.1中它会抛出java.net.SocketTimeoutException:SSL握手超时. URL url ...
- AES加密时抛出java.security.InvalidKeyException:#160;Illegal#160;key#160;size#160;or#160;def...
原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java. ...
- 为什么我可以在Java中抛出null? [重复]
本文翻译自:Why can I throw null in Java? [duplicate] This question already has an answer here: 这个问题已经在这里有 ...
- java异常在哪一层捕获_当在一个方法的代码中抛出一个检测异常时,该异常或被方法中的 ( )结构 捕获,或者在方法的 ( ) 中声明_学小易找答案...
[填空题]当异常已经被定义时,必须通过( ) 语句来处理它. [填空题]Catch 子句包含( )的程序段 [单选题]下列java语言的常用异常类中,属于检测异常的是() [单选题]自定义异常类时,可 ...
- 程序中抛出空指针异常_从Java应用程序中消除空指针异常
程序中抛出空指针异常 这篇文章简要介绍了Java 8的最有用但又"毫不夸张"的功能. 程序员花费了无尽的时间来纠正最常见但最危险的错误之一,即Null指针异常. 空指针异常会导致我 ...
- Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法
当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...
- java,给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
标题:java,给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 一.示例 二.题解 方法一,暴力法:使用双重for循环,每 ...
- java 照片识别 自动判题,【判断题】throw关键字只可以抛出Java能够自动识别的异常。...
[判断题]throw关键字只可以抛出Java能够自动识别的异常. 更多相关问题 [名词解释] 庶兔马首之络 [单选] 帮助服务对象记住信息时下列哪项是错误的() [名词解释] "摄情&quo ...
- 在不丢失堆栈跟踪的情况下重新抛出Java中的异常
在C#中,我可以使用throw; 保留堆栈跟踪时重新抛出异常的语句: try {... } catch (Exception e) {if (e is FooException)throw; } Ja ...
最新文章
- android 闪烁发光动画,androidview动画发光效果在imageview上
- python_0基础开始_day05
- cpu风扇一会转一会停_宝宝不能吹电风扇?空调PK电风扇,到底该Pick谁啊啊啊!...
- eclipse/myeclipse中如何开启断言调试代码
- android 方法超时,android socket.io中的发出或确认超时处理?
- 家里宽带628连不上_WiFi密码正确,别人正常但是自己的手机却连不上WiFi是怎么回事?...
- libv4l 库【转】
- 一次关于使用status作为变量引发的bug及思考
- AI金融知识自学偏量化方向-了解不同类型的机器学习2
- Java 面向对象 --匿名内部类
- 通过apache对页面进行压缩和页面缓存来提升性能
- 数据挖掘与python实践心得体会_数据挖掘心得体会
- msdia80.dll文件出现在磁盘根目录下的解决方案
- 亲子关系-《抗压力·亲子篇》书中的精髓:理解何为抗压力,让孩子从小学会如何面对挫折,培养抗压力。
- 迅雷和BT有什么区别?迅雷是不是不毁硬盘?速度快吗?
- linux androidx86双系统,实用教程:PC实现Windows/原生安卓双系统
- 19款国产手机无一幸免:15分钟破解人脸识别,打印眼镜让刷脸形同虚设 ?
- 2021-05-08 小华子第一篇
- 非正式协议/正式协议
- 有效值检波技术(如何测量电路中的有效值)
热门文章
- Go单测测试 — 数据库 CRUD 的 Mock 测试
- oracle asm ora 15041,ORA-15041,ORA-01274 故障解决实例
- #define c# 报错_#define 预处理指令(C++,C#,VB.NET)
- Eureka实例自动过期
- Mybatis中强大的resultMap
- 遍历集合常见的两种方式
- Java会话技术之 —— Spring Session
- curl_multi实现并发
- pageResponse - 让H5适配移动设备全家(移动端适配)
- 最重要的 Java EE 最佳实践