【Java】自动类型转换规则

自动类型转换遵循下面的规则:

  • 若参与运算的数据类型不同,则先转换成同一类型,然后进行运算。
  • 转换按数据长度增加的方向进行,以保证精度不降低。例如int型和long型运算时,先把int量转成long型后再进行运算。
  • 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
  • char型和short型参与运算时,必须先转换成int型。
  • 在赋值运算中,赋值号两边的数据类型不同时,需要把右边表达式的类型将转换为左边变量的类型。如果右边表达式的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度。

下图表示了类型自动转换的规则

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java 中的类型转换可以分为两种,一种是自动类型转换,另一种是强制类型转换。其中,自动类型转换是指从小的数据类型转换为大的数据类型时,Java自动进行类型转换,而强制类型转换则是指强制将一个数据类型转换为另一个数据类型。 Java 中的基本数据类型可以按照它们的大小分为四类,从小到大依次为 byte、short、int、long、float、double、char。在这些数据类型之间进行类型转换时,Java 遵循以下规则: 1. 数据类型从小到大自动转换,即当一个小的数据类型赋值给一个大的数据类型时,Java自动进行类型转换。例如,将 int 类型的变量赋值给 long 类型的变量,Java自动将 int 类型转换为 long 类型。 2. 数据类型从大到小时需要进行强制类型转换,即当一个大的数据类型赋值给一个小的数据类型时,Java 会报错,需要使用强制类型转换来将大的数据类型转换为小的数据类型。例如,将 long 类型的变量赋值给 int 类型的变量,需要使用强制类型转换来将 long 类型转换为 int 类型。 3. 在进行运算时,Java自动将参与运算的数据类型转换为同一类型,然后再进行运算。转换的规则如下: - 如果两个操作数中有一个是 double 类型,那么另一个操作数会被转换为 double 类型,然后再进行运算。 - 如果两个操作数中有一个是 float 类型,那么另一个操作数会被转换为 float 类型,然后再进行运算。 - 如果两个操作数中有一个是 long 类型,那么另一个操作数会被转换为 long 类型,然后再进行运算。 - 如果两个操作数中有一个是 int 类型,那么另一个操作数会被转换为 int 类型,然后再进行运算。 总之,Java类型转换规则主要遵循数据类型从小到大自动转换的原则,如果需要从大的数据类型转换为小的数据类型则需要使用强制类型转换,并且在进行运算时会自动进行类型转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值