knrt.net
当前位置:首页 >> 关于jAvA中0.0/0.0的问题 >>

关于jAvA中0.0/0.0的问题

如果是int的话 0/0肯定有异常,但是float或double不会。 原因要讲吗? 0不能当分母,所以除以它会出异常; 0.0在内存里面和0可不同,所以它为分母时应该不会有异常,但是结果非数字。有点跟Integer.MAX_VALUE + 1 的道理差不多吧。

java.lang.ArithmeticException 除以0都会报这个错误

没啥意思 就是定义了一个浮点类型f1=0.0 ---------------- float型 内存分配4个字节,占32位,范围从10^-38到10^38 和 -10^38到-10^-38 例float x=123.456f,y=2e20f; float型定义的数据末尾必须有"f"或"F",为了和double区别

2和3都是整数,2/3是整数除法,得到的商也是整数。要得到浮点数结果,只要被除数和除数中有一个是浮点数就行。比如2.0/3

double中的0不是真正的0或0.0 而是一个很长的,可能是0.000000000001或其它,所以一个正数除以0.0结果就得很大很大。负数除以0.0, 0.0/0.0 一样道理。 //浮点数是使用二进制数据的科学计数法表示,所以不可能精确表示一个浮点数

程序中的每个除数,都要处理 其为0的可能性.可以强制改为一个合法的数,或者函数直接返回.也可返回一个自己的异常. (1):double d=0.0 其实d的值只是无线接近于0而已。 (2):int iWidth = m_rectmin.Width(); if(iWidth==0) iWidth = 1; (3)...

抛出异常即可。 java中,如果int/int中除数为0,会抛出异常java.lang.ArithmeticException: / by zero,这个不容易理解!但如果是浮点型,就不会报异常了! 总结如下: 0.0/0.0 得到的结果是NaN(not an number的简称,即"不是数字")...

public class ScoreDemo {public static void main(String[] args) {int x = 5/6;//整数除整数,结果只保留小数点左边的数字System.out.println(x);double y = 5/6;//虽然结果的变量是double ,但是5/6依然是整数除整数System.out.println(y);//下...

// 第一个0代表横坐标// 第二个0代表纵坐标 g.clearRect(0,0, getWidth(), getHeight()); // 10代表横坐标,20代表纵坐标 g.drawString("小应用程序,你好!",10,20); 这2个方法是这样规定的: 定义和用法clearRect() 方法删除一个画布的矩形区...

可以,但是没有意义。因为数组长度是不可增加的,你定义这么一个数组,除了可以看到a.length为0外,a[0]都会报错。

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com