类型名 | 占用空间 | 取值范围 |
---|---|---|
byte | 8位(1个字节) | -27~27-1 |
short | 16位(2个字节) | -215~215-1 |
int | 32位(4个字节) | -231~231-1 |
long | 64位(8个字节) | -264~264-1 |
float | 32位(4个字节) | 1.4E-45~3.4E+38,-1.4E-45~-3.4E+38 |
double | 64位(8个字节) | 4.9E-324~1.7E+308, -4.9E-324~-1.7E+308 |
Java自动类型转换图

这是一张由低到高的数据类型转换图
低类型可以自动转换为高类型,但是高类型不能自动转换为低类型(可以进行强制转换,但对于某些数据类型之间的转换,强制转换是无法完成的。)
【例:】
说明:byte、short、和char类型的变量在运行期间类型会自动提升为int,然后再进行运算。
注意:
特殊的赋值运算符在运算中会实现强制类型转换的自动实现
例如:
普通的赋值语句会出现没有类型强制转换的错误。
而使用特殊赋值运算符进行运算的话,就会自动完成类型的强制转换的过程。
特殊赋值运算符:+=、-=、*=、/=、%=