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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© じぉL☆ve你 中级黑马   /  2015-3-16 11:16  /  1686 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a += b 和 a = a + b 的结果是一样的,,它们有什么不一样的地方么?

8 个回复

倒序浏览
a+=b,是一次运算;a=a+b是两次运算。
举个例子:
byte  a=3;假设b为一个整数值为5
a=a+b;编译失败,因为a会被提升为int类型,运算后的结果还是int类型,无法赋值给byte类型。
a+=b;编译通过,因为+=运算符在给a赋值时,自动完成了强转动作。
回复 使用道具 举报
2119391569 发表于 2015-3-16 11:31
a+=b,是一次运算;a=a+b是两次运算。
举个例子:
byte  a=3;假设b为一个整数值为5

a+=b在运算时 把a=a+b运算时的类型提升和强转自动完成了?
回复 使用道具 举报
じぉL☆ve你 发表于 2015-3-16 11:37
a+=b在运算时 把a=a+b运算时的类型提升和强转自动完成了?

+=是一个赋值运算符,是把左右两边的和赋给左边,内部会有一个自动转换的动作。好好看看毕老师射频中21、(赋值运算符和比较运算符)就OK了。其中有详细的讲解
回复 使用道具 举报
学习了。
回复 使用道具 举报
2119391569 发表于 2015-3-16 12:19
+=是一个赋值运算符,是把左右两边的和赋给左边,内部会有一个自动转换的动作。好好看看毕老师射频中21、 ...

谢谢了。。。。。
回复 使用道具 举报

你学到哪里了?
回复 使用道具 举报

我学的是刘意老师最新版的java基础视频,,看完一遍了。但是学的不是很细,,正打算学第二遍呢。
回复 使用道具 举报
a+=b会自动转换
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马