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

谁帮我解答一下,谢谢咯

把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
提交
取消
Java入门第一季(IDEA工具)
  • 参与学习       1167981    人
  • 解答问题       18750    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

谁帮我解答一下,谢谢咯

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号