自动类型转换

(7种,不包含布尔类型)

当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
image.png
说明:

  • 容量大小指的是,表示数的范围的大和小。比如:float容量要大于long的容量
  • 特别的:当byte、char、short三种类型的变量两两做运算时,结果为int型(自身做运算亦是int型)

强制类型转换:自动类型转换的逆运算

  • 需要使用强转符:()
  • 注意点:强制类型转换,可能导致精度损失。(截断操作)
  • boolean类型不可以转换为其它的数据类型。 ```java 例1: int i=128; \float f=125.2 ——>不加f编译不通过:默认为double byte b=(byte)i; —->-128

    long l = 1256; //1256默认为int型,若过大超出int型范围则编译不通过 System.out.print(l); ——->未加L不报错原因:int型自动转换为long型

例2: byte b=12; byte b1= b+1 ;\编译不通过:byte+int ```