数据类型的转换,分为自动转换和强制转换。
自动转换是程序执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换
强制转换必须在代码中声明,转换顺序不受限制
自动数据类型转换:
按照从低到高的顺序,不同类型数据间的优先关系如下:
byte short char -> int -> long -> float -> double
运算中,不同类型的数据先转换为同一类型的数据,然后再进行运算。
强制数据类型转换:
强制转换的格式是在需要转换的数据前加“()”,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确。
基本数据类型的精度:
byte:1个字节(8bit) -128~127 (-2^7~2^7) 默认为0
short:2个字节(16bit) -32768~32767 (-2^15~2^15-1) 默认为0
int:4个字节(32bit) -2^31~2^31-1 默认为0
long:8个字节(64bit) -2^63~2^63 默认为0
float:4个字节(32bit) 默认为0.0F
double:8个字节(64bit) 默认为0.0D (浮点型常量默认为double)
char:2个字节(16bit) 默认为'\u0000'
boolean:1个字节(8bit) 默认为false