java中数据类型的转换

时间:2023-01-19 06:31:48

数据类型的转换,分为自动转换和强制转换。

自动转换是程序执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换

强制转换必须在代码中声明,转换顺序不受限制

自动数据类型转换:

  按照从低到高的顺序,不同类型数据间的优先关系如下:

  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