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型再赋值

强制转换

强制转换适用于高位类型向低位类型的转换。

  • 语法:用()标注需要强制转换成的类型

    // 示例:
    int x;
    x = (int)34.56 + (int)11.2; // x = 45,丢失精度
    byte y = (byte)x;
    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容