在Java中有8中基础数据类型,其中
四种整型(byte、short、int、long)
两种浮点类型(float、double)
Unicode编码的字符类型(char)
表示真值的布尔型(boolean)
基本数据类型 | 包装类型 | 占用字节 | 位数 | 默认值 | 取值范围 |
byte(整型) | Byte | 1 | 1*8=8 | 0 | -2的7次方到2的7次方-1 |
short(整型) | Short | 2 | 2*8=16 | 0 | -2的15次方到2的15次方-1 |
int(整型) | Integer | 4 | 4*8=32 | 0 | -2的31次方到2的31次方-1 |
long(整型) | Long | 8 | 8*8=64 | 0 | -2的63次方到2的63次方-1 |
float(浮点类型) | Float | 4 | 4*8=32 | 0.0f | 3.402823e+38到1.401298e-45 |
double(浮点类型) | Double | 8 | 8*8=64 | 0.0d | 1.797693e+308到4.9000000e-324 |
char | Character | 2 | 2*8=16 | '\u0000' | Unicode中包含的编码 |
boolean | Boolean | 1 | 1*8=8 | false | 0/1/true/false |
以上,可以得知:1个字节等于8个bit
另外,float类型的数值有一个后缀F,例1.6F,
如果,1.6后面没有后缀F,默认为double类型
还有,float是单精度,double是双精度。
所以,0.1d == 0.1f是false。