两个不同类型的数值相加并非都不可以,而是要注意相互之间的大小关系。
比如要实现 int 和 float 相加再转换成 float ,首先我们要看看这两种类型的大小关系。
int 可以存储 -2147483648~2147483647 之间的任何整数;
float 可以存储+(-)1.5*10*(-45)~+(-)3.4*10^(38)之间的任何数(有 7 位有效数字)。
这样,二者的大小比较为: int > float 。
int myInt = 36;
float myFloat = 16.4F;
myFloat = myInt + myFloat;
由于 int 可以放入 float 中,而 float 无法放入 int 中,所以+操作符将 myInt 与 myFloat 相加之前,会把 myInt 强制转换为 float。