数据类型间的转换,有两种方式:自动转换和强制转换,通常发生在表达式中或方法的参数传递时。
JAVA数据类型自动转换时,遵循从小到大的原则:
具体地讲,当一个较“小”数据与一个较“大”的数据一起运算时,系统将自动将“小”数据转换成“大”数据,再进行运算。而在方法调用时,实际参数较“小”,而被调用的方法的形式参数数据又较“大”时(若有匹配的,当然会直接调用匹配的方法),系统也将自动将“小”数据转换成“大”数据,再进行方法的调用,自然,对于多个同名的重载方法,会转换成最“接近”的“大”数据并进行调用。
这些类型由“小”到“大”分别为 (byte,short,char)--int--long--float—double。这里我们所说的“大”与“小”,并不是指占用字节的多少,而是指表示值的范围的大小。自动转换其实也避免了数据丢失
JAVA强制数据类型转换:
将“大”数据转换为“小”数据时,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int n=(int)3.14159/2; 可以想象,这种转换肯定可能会导致溢出或精度的下降。有一定的危险性
总的来说,数据类型的转换,是根据我们的需求来的,选择强制转换的时候,一定要注意会不会对我的程序带来风险
希望对你有帮助
|