Java基本类型之间的转换*

Java基本类型之间的转换

大家好!这是我制作的百度脑图:
Java基本类型之间的转换*
数据类型转换分为自动类型转换(隐式类型转换)和强制类型转换。

自动类型转换

从小类型到类型可以自动完成的是自动类型转换。
(1)如果一个操作数为double型,则整个表达式可提升为double型。在Java语言的一些规则中,将一种类型的变量赋给另一种类型的变量时,就会发生自动类型转换。但是,这种转化并不是永远无条件发生的。
(2)满足自动类型转换的条件。
①两种类型要兼容数值类型(整型和浮点型)互相兼容:
②目标类型大于源类型: double 型空间可以存入in型数据,因为double型变量分配的存储空间足够存储int型变量。因此,可把int型变量转换成double型变量形象地称为”放大转换”。

强制类型转换

由于强制类型转换往往是从宽度大的类型转换成宽度小的类型,数值损失了精度,因此我们形象地称这种转换为“缩小转换”。
自动转换
多种基本类型参与的表达式运算中,运算结果会自动地向较大类型转换。
byte、char、short转化为int
(1)int直接量可以直接赋值给byte、 char、 short, 只要不超过其表示范围。
(2) bytc、 char、 short这3种类型参与运算时,先将其全部转换为int型再做运算。