详解解密Java中的类型转换问题
产生的结果是:1. 数据正确,只是精度降低了;2. 数据不正确,发生了溢出;对于上述第1种情况,比较好理解,我们来看个例子:上述第一条语句会提示编译错误,那是因为编译器看到63.5时,会把它当做一个double类型,把一个double类型赋给float类型,当然编译不通过了。推荐的解决方案是:当然,你也可以强制转换成float类型:其实,上述语句本质是把double类型的数据强制转换成float类型,发生了截断。
产生的结果是:1. 数据正确,只是精度降低了;2. 数据不正确,发生了溢出;对于上述第1种情况,比较好理解,我们来看个例子:上述第一条语句会提示编译错误,那是因为编译器看到63.5时,会把它当做一个double类型,把一个double类型赋给float类型,当然编译不通过了。推荐的解决方案是:当然,你也可以强制转换成float类型:其实,上述语句本质是把double类型的数据强制转换成float类型,发生了截断。