Java|Java 数据类型的自动转换和强制转换

Java 数据类型的自动转换和强制转换 自动转换 自动转换适用于低位数类型向高位数类型的转换
规则:

  1. 对于算术运算按照下图所示规则转换
    graph LR A[byte] --> B[short] B --> C[int] C --> D[long] D --> E[float] E --> F[double] G[char] --> C

  2. 对于赋值运算:当两种类型兼容时(如整型和浮点型相互兼容),低位类型会自动向高位类型转换
  3. 布尔类型不能和其他基本数据类型相互转换
// 示例: int x = 100; long y = x; // 在赋值时int型自动转换为long型 double z = x + y; // 在算术运算时int型先转换为long型再运算,运算结果转换为double型再赋值

强制转换 强制转换适用于高位类型向低位类型的转换。
  • 【Java|Java 数据类型的自动转换和强制转换】语法:用()标注需要强制转换成的类型
    // 示例: int x; x = (int)34.56 + (int)11.2; // x = 45,丢失精度 byte y = (byte)x;

    推荐阅读