社区
Java SE
帖子详情
关于a+=b 的小问题,请大家跟我解决一个小疑问
xiaolai_xiaolai
2017-09-30 06:50:17
请大家帮我解释下 为什么 第一个a 打印的结果是10 , 让int 类型的a加上0.5既不报错 也加不上去
第二个a就能正常打印a的结果为11.
感激不尽.
...全文
465
6
打赏
收藏
关于a+=b 的小问题,请大家跟我解决一个小疑问
请大家帮我解释下 为什么 第一个a 打印的结果是10 , 让int 类型的a加上0.5既不报错 也加不上去 第二个a就能正常打印a的结果为11. 感激不尽.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
小公牛123
2017-11-03
打赏
举报
回复
int是整型 就是整数 是截取取值 不是进一法也不是四舍五入 也就是说不管你的数小数点后有多少 输出时只取小数点前的部分
qq_40312447
2017-10-02
打赏
举报
回复
你第一个a是一个int类型,0.5是double类型。+=这个运算符本身就隐含了有一个强制转换的功能……
qq_40312447
2017-10-02
打赏
举报
回复
你第一个a是一个int类型,0.5是double类型。+=这个运算符本身就隐含了有一个强制转换的功能……
小公牛123
2017-10-01
打赏
举报
回复
这个你需要了解下自动类型转换和强制类型转换 当大的转换成小的就会发生强制类型转换 比如你 这个 a += 0.5 就相当去a = a + 0.5; 正常结果应该10.5但是这个是double类型所以会发生强制类型转换 而强制类型转换是一种截取值 也就是 当强制类型转换成整型时 10.5 就会截取到10 最后 输出的值就是10 而 a+= 1 结果就是 11 是整型不需要什么转换 也没有什么错误自然就输出 11 了
shangcunshanfu
2017-10-01
打赏
举报
回复
a+=0.5编译器在编译时是这样的,a=(int)(1+0.5),再根据楼上说的,答案就出来了。
李德胜1995
2017-09-30
打赏
举报
回复
a+=0.5计算后的10.5会是double型的,会强转为int型的,10.5强转为int型等于10。。。。
证明三角形内角和定理.ppt
证明三角形内角和定理.ppt
平行线的证明试题总集含答案.doc
平行线的证明试题总集含答案.doc
加法的简便运算.docx
加法的简便运算.docx
七年级数学有理数全章导学案.doc
七年级数学有理数全章导学案.doc
2014七年级数学上册 2.6 有理数的加减混合运算教案(2) (新版)北师大版.doc
2014七年级数学上册 2.6 有理数的加减混合运算教案(2) (新版)北师大版.doc
Java SE
62,628
社区成员
307,259
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章