Java浮点类型

FloatTest.java

package sample;

public class FloatTest
{
    public static void main(String[] args)
    {
        /*
        浮点类型:
        浮点数有两个表示形式
        十进制形式,就是简单的浮点数,例如:5.12,512.0,浮点数必须包含一个小数点,否则会被当成int类型处理
        科学计数法形式,例如:5.12e2,5.12E2
        只有浮点数才能使用科学计数法表示,例如:51200是一个int类型的值,但是512E2则是浮点类型的值。

        Java还提供了三个特殊的浮点数值:正无穷大,负无穷大,非数,用于表示溢出和出错。
        使用一个正数除以0将得到正无穷大,使用一个负数除以0将得到一个负无穷大,0.0除以0.0或对一个负数开方将得到一个非数。
        所有的正无穷大数值都是相等的,所有的负无穷大都是相等的,而NaN不是任何值相等,甚至和NaN都不相等。
        只有浮点数除以0才能到无穷大,Java会把0当成浮点数0.0处理,如果一个整数值除以0,则会抛出一个异常。
        */
        float af = 5.2345556F;//范围溢出
        //下面将看到af的值已经发生了变化
        System.out.println(af);
        double a = 0.0;
        double c = Double.NEGATIVE_INFINITY;
        float d = Float.NEGATIVE_INFINITY;
        //看到float和double的负无穷大是相等的
        System.out.println(c==d);
        //0.0除以0.0将出现非数
        System.out.println(a/a);
        //两个非数之间是不相等的
        System.out.println(a/a == Float.NaN);
        //所有正无穷大都是相等的
        System.out.println(6.0 / 0 == 555.0/0);
        //负数除以0.0得到负无穷大
        System.out.println(-8 / a);
        //下面代码将抛出除以0的异常
        //System.out.println(0/0);
        //System.out.println(6/0);

        float e = 512E2F;
        System.out.println(e);
    }
}

javac -d . FloatTest.java

java sample.FloatTest

输出结果:

5.2345557
true
NaN
false
true
-Infinity

51200.0

转载于:https://my.oschina.net/Sadhu/blog/2963553

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值