A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© gaoer 中级黑马   /  2015-5-13 23:00  /  467 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

byte a=2+3; 是对的,为什么float b= 3+5.5;通不过呢 ?
都是常量先相加的个值再赋值给左边。不用考虑类型。

3 个回复

倒序浏览
对于直接出现在运算中的数字,整数 都是int类型   小数都是double类型
当都是整数时,在进行运算时: 运算的结果也是int类型的,这时Java会自动将int类型强制转换为需要的类型。
当有小数时,这是运算的结果是double类型,Java不会自动强制转换,需要手动  (float)(3+5.5)

评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 xbutterflyx 于 2015-5-14 10:47 编辑
l763631191 发表于 2015-5-13 23:20
对于直接出现在运算中的数字,整数 都是int类型   小数都是double类型
当都是整数时,在进行运算时: 运算的 ...

学习了...
回复 使用道具 举报
1楼说的对  3+5.5的值是double类型的   要进行强转  或者 用double类型来接收
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马