码迷,mamicode.com
首页 > 其他好文 > 详细

除数为0的几种情况测试

时间:2017-04-06 19:48:45      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:参考   最大   异常   exce   div   jdk1.7   类型   抛出异常   基于   

1、int类型,当除数为0时,编译可以通过,但运行时会抛出异常。

    static void test1(){
        int a = 10;
        int b = 0;
        int c = a / b; //java.lang.ArithmeticException: / by zero
        System.out.println(c);
    }

 

2、单精度浮点型,当除数为0时,编译通过,也可运行,运算结果为Infinity(无穷大),当把结果转换为int型时,会显示int所能存储的最大值(2的31次方-1)

    static void test2(){
        float a = 10.0f;
        float b = 0.0f;
        float c = a / b;
        System.out.println(c);//Infinity
        System.out.println((int)c);//2147483647
    }

 

3、多精度浮点型,当除数为0时,编译通过,也可运行,运算结果为Infinity(无穷大),当把结果转换为int型时,会显示int所能存储的最大值(2的31次方-1),把结果转换为单精度浮点型时,仍为Infinity(无穷大)

    static void test3(){
        double a = 10.0d;
        double b = 0.0d;
        double c = a / b;
        System.out.println(c);//Infinity
        System.out.println((int)c);//2147483647
        System.out.println((float)c);//Infinity
    }

 

注:本文所述内容基于JDK1.7。

 

水平有限,上述观点难免有误,仅供参考。欢迎牛们拍砖!

除数为0的几种情况测试

标签:参考   最大   异常   exce   div   jdk1.7   类型   抛出异常   基于   

原文地址:http://www.cnblogs.com/ilearn123/p/6674938.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!