Java中Double和float的区别是什么?

在 Java 中,Double 和 float 都是用来表示浮点数的类,但两者有几个关键区别:

  1. Double 是double的包装类,float是float的包装类。
Double d = 1.2; // double类型
Float f = 1.2f; // float类型 
  1. double类型的范围更大,精度更高。
    double的范围约为±10^{308},精度为15-16位有效数字。
    float的范围约为±10^{38},精度为6-7位有效数字。
  2. double是64位,float是32位。
double: 64 bits (1 bit sign, 11 bits exponent, 52 bits mantissa)
float: 32 bits (1 bit sign, 8 bits exponent, 23 bits mantissa)
  1. float占用内存更小,对精度要求不高时首选。
  2. Double和float都是Java中默认的浮点类型。
float f = 1.2; //默认double
float f = 1.2f; //显示声明float

总结:
Double与float都表示浮点数,double范围和精度更高,float更省内存。