为了账号安全,请及时绑定邮箱和手机立即绑定

谁帮我解答一下,谢谢咯

把double avg1=78.5;   改成     float avg1=78.5f;  在编译器中能行吗?

正在回答

5 回答

这不是强制类型转换,四个回答都错了

float avg1=78.5f;  这个直接告诉java 开辟这个大的空间 来存储 78.5 这个数!

这是开发者的思路


double avg1=78.5;

float avg2=(float)avg1;   这才是强制类型转换! 

1 回复 有任何疑惑可以回复我~

这是类型转换,double的优先级要高于float,这个属于强制类型转换,可以转,但是可能会丢失数据

0 回复 有任何疑惑可以回复我~

就78.5而言 运行结果是一样的。因为精度不同 。

0 回复 有任何疑惑可以回复我~

可行,但是丢失精度,因为double比float分配的字节空间大

0 回复 有任何疑惑可以回复我~

可以,属于强制转换

0 回复 有任何疑惑可以回复我~
#1

leowei

这不是强制类型转换,四个回答都错了 float avg1=78.5f; 这个直接告诉java 开辟这个大的空间 来存储 78.5 这个数! 这是开发者的思路 double avg1=78.5; float avg2=(float)avg1; 这才是强制类型转换!
2017-08-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谁帮我解答一下,谢谢咯

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信