关于java使用double还是float

Posted 小z同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java使用double还是float相关的知识,希望对你有一定的参考价值。

眼睛一亮在论坛上发现一枚很有价值的评论赶紧抄下来...

记住java一定要用double,更鼓不变,就算数值不大也要用double。
了解java虚拟机的底层会知道,float放在内存中其实是当作double来处理的,它不会比double更节约内存资源,对应的double虚拟机会直接以double形式来进行处理,快速而且精度高,但是如果用float,不但不会节约内存资源,虚拟机为了校验float的精度,会花费更多的系统资源,例如cpu时钟,程序执行步骤等等。
相对于这点,整数类型,能用int就用int,不要用什么short类型,道理是一样,其实虚拟机中short,char,boolean,byte在内存中都是以int形式来处理的,为了校验精度,虚拟机还会付出格外的开销,这样其实得不偿失,不要自作聪明以为节约了内存,其实错了。当然long类型例外,虽然long类型也会增加资源的开销,但是毕竟能完成int完成不了的功能。
还有,其实这些资源的开销对于整个应用程序和现有硬件资源而言就是九牛一毛,微乎其微,没有必要过于在意。就用习惯的形式即可。不要自作聪明的用特别的数据类型,浮点就double,整形就int,长整型就long,其它的必要性都不大(byte的话,用来做数组还是很方便的,除此不推荐使用)

暑假准备看完JVM,别人的讲解总归要自己来印证,不能因为有道理就信了,噶




以上是关于关于java使用double还是float的主要内容,如果未能解决你的问题,请参考以下文章

numeric 在Java中怎么定义,是啥类型的呢? float?还是double?还是long呢?

关于java中的数据类型

关于double和float的包装类Double和Float代码如下 Double d1 = 1.0;Double d2 = 1.0;

C语言 关于float 和 double 输入时 如果是float必须用%f double必须用%lf这样对么 但是输出时有问题

关于double与float的输入输出问题

一个关于JAVA中double精度误差的问题,详细及代码问题如下