java在啥情况下会发生自动类型转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java在啥情况下会发生自动类型转换相关的知识,希望对你有一定的参考价值。

1) 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。
2) 转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。
a.若两种类型的字节数不同,转换成字节数高的类型
b.若两种类型的字节数相同,且一种有符号,一种无符号,则转换成无符号类型
3) 所有的浮点运算都是以双精度进行的,即使仅含float单精度量运算的表达式,也要先转换成double型,再作运算。
4) char型和short型参与运算时,必须先转换成int型。
5) 在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。如果右边量的数据类型长度左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。
参考技术A 多态的时候子类转换成父类时会自动类型转换 基本类型自动装箱,自动解箱int,char,double,....八种基本类型会自动转换成Integer,Character,Double等八种封装类八种封装类也会自动解箱成基本类型 参考技术B 基本类型的向上转型,如将char赋值给int等

继承关系的转型,即子类向父类的转型,如Animai a=new Dog();
参考技术C 任何时候都不会自动类型转换。
java属于强类型语言。
只有你强制类型转换。

以上是关于java在啥情况下会发生自动类型转换的主要内容,如果未能解决你的问题,请参考以下文章

java中的数据在啥时候可能会发生隐式转换?

C语言有没有数据的四舍五入?啥情况下会用到四舍五入?数据类型转换?

在啥情况下会在控制权到达 main() 函数之前发生崩溃? [复制]

Java中数据类型的转换

Java什么情况下数据类型可以自动转换?什么情况下需要强制转换?

Java什么情况下数据类型可以自动转换?什么情况下需要强制转换?