weixin_42034673 2021-12-20 17:05 采纳率: 33.3%
浏览 44
已结题

Java double付值int为什么不报错还能运行成功

在IDEA中,
int a=0;
a=a+0.1;会报错,但是为什么
int a=0;
a+=0.1;不会报错?还能运行成功?

  • 写回答

1条回答 默认 最新

  • CSDN专家-sinJack 2021-12-20 17:06
    关注
    a+=0.1
    等价于
    a=(int)(a+0.1)
    

    a=a+0.1;
    报错是因为a+0.1是浮点类型,赋值给int类型需要强转。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月28日
  • 已采纳回答 12月20日
  • 创建了问题 12月20日