对于Java初学者来讲,对于浮点数据类型会产生一些诸如,什么是单精度?什么是双精度?这一类的疑惑。这往往是对于这个知识点理解产生一些偏差。
- 单精度浮点类型,双精度浮点类型可以把它看作是一个名词,只不过是一种叫法。
- 他们都是用来表示小数。但是不能精确的表示一个小数。只是无限接近的一个数。
- 单精度浮点数和双精度浮点数表示的数的范围不一致。如下图
所以,单精度浮点类型和双精度浮点类型并不是指的是一位小数和两位小数。这只是在Java中对于小数这种数据声明的一种数据类型。至于为什么有时候定义一个float会报错,大多是因为浮点数据类型的默认类型为double。