开发者社区 问答 正文

Java += 的疑问

我们都知道x+=1 <=>x =x+1,但是现在有这么个问题:x += Math.random()10;是没问题的,x =x + Math.random()10;其中x为int类型,后者为什么会报错呢?或者说前者为什么不报错?+=还有什么隐藏特性吗?

展开
收起
海边一只船 2020-05-31 17:30:55 629 分享 版权
1 条回答
写回答
取消 提交回答
  • 这个是Java规范里规定的,+= 复合运算符规定做一次强制转换。当然这有利有弊,要根据实际情况来获取精度啊。 可以看下关于复合运算符的一点解释: https://www.cnblogs.com/ofyou/p/Compoun-Assignment-Operators.html

    2020-05-31 17:31:06
    赞同 展开评论
问答分类:
问答标签:
问答地址: