float : 单精度浮点数

double : 双精度浮点数

两者的主要区别如下:

  01.在内存中占有的字节数不同

    单精度浮点数在机内存占4个字节

    双精度浮点数在机内存占8个字节

  02.有效数字位数不同

    单精度浮点数有效数字8位

    双精度浮点数有效数字16位

  03.数值取值范围

    单精度浮点数的表示范围:-3.40E+38~3.40E+38

    双精度浮点数的表示范围:-1.79E+308~-1.79E+308

  04.在程序中处理速度不同

    一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快

如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转

  例如:float  a=1.3; 会编译报错,正确的写法 float a = (float)1.3;或者float a = 1.3f;(f或F都可以不区分大小写)

注意:float是8位有效数字,第7位数字将会四舍五入

面试题:

  1.java中3*0.1==0.3将会返回什么?true还是false?

   fale,因为浮点数不能完全精确的表示出来,一般会损失精度。

  2.java中float f = 3.4;是否正确?

     不正确,3.4是双精度数,将双精度型(double)赋值给浮点型(float)属于向下转型会造  成精度损失,因此需要强制类型转换float f = (float)3.4;或者写成 float f = 3.4f;才可以。

public static void main(String[] args) {
System.out.println(3*0.1);
System.out.println(3*0.1==0.3);
    //float是8位有效数字,第7位数字将会四舍五入
float a =1.32344435f;
System.out.println(a);
}

输出结果:

最新文章

  1. c++ const函数是什么意思
  2. SGU 180 Inversions
  3. 新浪微博模拟登陆+数据抓取(java实现)
  4. 百度地图API:利用瓦片生成工具,自定义背景图片
  5. git设计哲学
  6. BZOJ 3240 矩阵游戏
  7. C# .net基于Http实现web server(web服务)
  8. PHP 数组模糊查询
  9. Spring消息之JMS.
  10. mysql 设置初始密码
  11. 怎么把微信里的文件发到QQ?
  12. 在Python程序中的进程操作,multiprocess.Process模块
  13. RMQ--ST表
  14. CF1101D GCD Counting
  15. day037 mysql之单表查询
  16. Python图形开发之PIL
  17. 【转】浅谈Nginx负载均衡与F5的区别
  18. JavaScript 基本数据类型和引用类型的区别详解
  19. exe4j 安装
  20. Balanced Search Trees

热门文章

  1. IO流实例
  2. python----运行机制
  3. POI导入excel时读取excel数据的真实行数
  4. C++(+类型加强 +加入面向对象)
  5. SpringMVC Maven项目 java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServle
  6. hbase 快速开发
  7. 使用PageHelper插件分页结合mybatis返回的列表个数不对问题解决
  8. nuxtJs中直接使用自带的@nuxtjs/axios
  9. to_date
  10. Linux下的.txt文件复制到win下面不自动换行