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都会报这个错误

2 是整型 3 也是整形 所以 2/3 的结果是整形 所以是 0 public class tt { public static void main(String[] args){ float xb = 0; xb = 2/3; System.out.println(xb); xb = (float)2/3; System.out.println(xb); } } 前面加个 float 就行了

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

JAVA中 0除以一个数一般不会有什么异常 如果有了 那可能是被除数异常 比如说被除数开得太大 超界了 可以声明的更大 如long long int; 而0做除数 出现异常就好解释多了 它属于"运行时异常" 即 java.lang.RuntimeException 只有在运行时把值算出...

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

1/2的结果是0啊,所以结果才为0.。你这样改: double a = 1/2.0*3; 希望可以帮助你,谢谢采纳。。。。

首先java在基本类型计算中高精度会丢失 如果涉及到高精度 需要装换成import java.math.BigDecimal;import java.math.BigInteger;这两个类 代码例子 // System.out.println(0.0+30/10*0.1); BigDecimal b1 = new BigDecimal(Double.toString(0.0)...

当然是等于0了,0对2取余,商0余0。

结果是0.5。 因为1是整型,2.0是浮点型,当两个相加的时候,java会自动的把整型自动转换称为浮点型,这个称之为“自动类型转换”自动类型转换的含义是:将一中类型的变量赋给另一种类型的变量时,就会发生自动类型转换。发生此类型的转换要满足的...

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