按理来说,对于程序编写者来说,double应该比float更好用,更保险,但据说在实际项目的代码中,float比double更常用?敢问为什么会有这种情况?

解决方案 »

  1.   

    在java代码中应该很少见到float这种字眼的
      

  2.   

    最近看的一个java教学视频里面的老师说,他在实际项目中,float用的更多一些(难道是因为float更加节约?),为什么大家反而double用的更多?
      

  3.   

    float的范围要比double的小,精度更高一些
      

  4.   


    难道不是double精度更高一些么?另外刚刚查了查,发现Java类库中的数学方法都是用的double,按理来说应该还是double用的比较广
      

  5.   

    记住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的话,用来做数组还是很方便的,除此不推荐使用)
      

  6.   

    float的话,android的api很多都用的float而不是double
      

  7.   

    double 吧,我感觉自己差不多都是写float
      

  8.   

    float用的不怎么多,double用的挺多的。但也得看具体情况
      

  9.   

    嗯,了解了,以后长用double。
      

  10.   

    平时我也是用float,看来要改成double了
      

  11.   

    哪个都不常用~不信LZ试试
    无论float或者double,设值为0.1
    做个循环相加1000次看看结果就知道了~
      

  12.   

    两个用的都少,就这两个比的话double稍微多点!
      

  13.   

    目前为止,对于两者的选择一直都是double
      

  14.   

    谁说的jvm规范中对byte,short,char,boolean在操作数栈和局部变量区是弄成int进行处理的
    float在jvm中就占一个字,double占两个字(一个字的大小至少32字节)
      

  15.   

    还无疑问是double类型,因为不易出错,float隐式转换损失的精度不可忽视,而且,在有些机器上,double类型比float类型快的多,所以,大部分时候使用double类型。