A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© fengche 中级黑马   /  2013-10-20 20:21  /  1340 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 fengche 于 2013-10-20 21:30 编辑
  1. class Test {
  2.    public static void main(String[] args) {
  3.        double i = 0.0 / 0.0;
  4.        System.out.println(i - i == 0);
  5.    }
  6. }
复制代码
为什么 int h=0/0;抛异常而double i = 0.0 / 0.0;不抛异常

2 个回复

倒序浏览
double类型的0.0 != 0,这点一定要注意了,也就是说0.0不是0,可能是0.00000000000000001。所以不会出现异常。
而0.0具体是多少,谁也不知道,是由虚拟机运行时在某一个误差范围内随即产生的。所以每次运行时候你得到的i的结果都不一样。
回复 使用道具 举报
java算十进制小数有问题,因为底层是二进制,就好像十进制算10/3一样
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马