Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
651 views
in Technique[技术] by (71.8m points)

为什么整数除以 0 会发生异常而使得程序终止,而浮点数除以 0 则不会发生异常导致程序终止(结果为无穷大)?

为什么整数除以 0 会发生异常而使得程序终止,而浮点数除以 0 则不会发生异常导致程序终止(结果为无穷大)?

请问这是为什么?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

浮点数除以零,根据 IEEE-754 的有关规定,其结果需要是 NaN(Not a Number)或 Infinity,Java 只是遵守了这一规定罢了。

整数除以零就没这个规定了,JVM 自己规定要抛出异常。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...