Java之间的数字转换表明,如图所示,实线箭头表示数据没有丢失,虚线箭头表示数据可能丢失
例如,123456789是一个大整数,包含的位数比float类型多,但是将此数转换为float类型可以获得相同大小的结果,但会丢失一定的精度。
int n=123456789;
float f=n; //f is 1.23456792E8
在将前后两个数变换来进行二项式运算的情况下,例如n f、n为整数,f为浮点数,将两个操作数变换为相同的类型后进行计算。
转换规则:
-如果两个操作数之一为双精度类型,则另一个操作数转换为双精度类型。
-否则,如果一个操作数为浮点型,则另一个操作数转换为浮点型。
-否则,如果一个操作数为长整型,则另一个操作数转换为长整型。
-否则,两个操作数都将转换为int类型。
强制转换类型
Java允许int转换为双精度类型或双精度转换为int,但可能会丢失一些信息。 如果强制转换类型,则必须强制执行类型转换(cast )。 强制类型转换的语法格式指定要在括号中转换的目标类型,后跟要转换的变量名称
例如
双精度x=9.887;