很多场合都要用到类型转换,JAVA的类型转换有下列两种。
自动类型转换
整型,实型,字符型数据可以混合运算。在运算过程中,不同类型的数据会自动转换为同一类型,然后进行运算。自动转换按低级类型数据转换成高级类型数据的规则进行,
转换规则为:
(1)(byte 或 short)op int -> int
(2)(byte 或 short 或 int) op long -> long
(3)(byte 或 short 或 int 或 long) op float -> float
(4)(byte 或 short 或 int 或 long 或 float)op double ->double
(5)char op int ->int
其中,箭头左边表示参与运算的数据类型,op为运算符如加减乘除等,右边表示运算结果的数据类型。
如: 3+4.5 是 double型,所以3贝转换为double型,然后再与4.5相加,其结果也为double型。
强制类型转换
高级数据类型你个要转换成低级数据类型,需要用到强制类型转换。其一般形式为:
(类型名)表达式
例如:
int i;
byte b;
i = 356;
b=(byte)i; //强制转换吼丢失一部分数据,使得b的值为100
一般使用强制类型转换可能会导致数值溢出或精度下降,应尽量避免。