试了下下面的程序,结果我以为都会报exception, 但是结果是这样的,有朋友帮忙解释下么。。。谢谢了
package com.test;
public class TestMath {
public static void main(String[] args){
double dou = 10; //Infinity
float flo = 10; //Infinity
int in = 10; //Exception
System.out.println(flo/0);
}
}
意思就是说最后一句System.out.println(flo/0)报异常了.
报异常的原因是flo/0,0不能做被除数,没什么好解释的,
至于上面的为什么不报异常也没什么好解释的,把一个浮点数赋给整数有可能会有异常,但是一个整数赋给浮点数为什么会有异常?
我的意思是float和double的除0为什么没异常。
@Ruth/Christy: http://zhidao.baidu.com/link?url=_fYG5nyH39HWJMzwj5R80ubt6nJT698CBv9twyYludusv_2BhNj5KEWaFjA4MEd_wB0SaZv3rzcG58S3-ssCa_
我了个去,JAVA的问题
@吴瑞祥: 好吧。了了。。谢谢。。
没明白你什么意思
我的意思是float和double的除0为什么没异常。
int in = 10; 这行代码虽然不是太明白,但是你定义变量名也不要使用in这样的关键词吧。
只是测试程序,没想这么多。实际写的不会这样,不过还是谢谢提醒。
小学的数学就有学过,0不能做除数。
你看了我的问题没,我知道不能做除数,问题是做了除数,为什么double和float的不报错,而是Infinity