新手求问关于double和float 的问题

sqtony 2012-11-17 01:19:36
为何我自己定义的方法
public double Division(){
return 25/2;
}
返回的是12.0呢?

public float Division(){
return 25/2;
}
这样也是12.0

倒是
public float Division(){
return 25/2f;
}
就是12.5了

能帮我解答下其中的原理吗 谢谢了
...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sqtony 2012-11-23
  • 打赏
  • 举报
回复
噢 明白了 谢谢
diypyh 2012-11-17
  • 打赏
  • 举报
回复
所有的数字型字面量默认都是INT型,25/2返回的结果也是整数型的12,只是你的方法返回的是float或double,所以程序会将INT型的12自动转换为float或double的12.0, 而25/2f,已经强调了有一个数据类型是float,这样在计算中另一个数据类型会自动向上转型,结果就是12.5

23,407

社区成员

发帖
与我相关
我的任务
社区描述
Java 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧