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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java中  z+=x等价于z=z+x    这是为什么????怎么感觉有点不懂呢。

28 个回复

正序浏览
个人觉得这就是java的一个设定,一个运算符而已,就好像 自增 ++ ,那么为什么++等价于+1?这个问题就好像为什么1+1=2,我个人觉得你可以把+=看做类似++的运算符,他们的区别仅仅在于++就是+1后赋值,而+=是加上等号后面的数值后赋值,至于使用中需要注意的,好吧其实楼上有人说过了,+=运算后数据类型是不会提升的
回复 使用道具 举报
简写格式
回复 使用道具 举报
把视频仔细的再看一遍 就知道了
回复 使用道具 举报
固定写法,记住就好
回复 使用道具 举报
谢谢大家的回答。对我很有帮助。谢谢。
回复 使用道具 举报
灵界 发表于 2015-6-8 01:07
在一般情况下等价,有一种特殊情况不等价,一般情况可以看基础视频或者书知道。特殊情况就是z和x的数据类型 ...

谢谢         
回复 使用道具 举报
mah707 发表于 2015-6-7 22:22
+=,/=,*=,-=扩展运算符,是将左右两边相加再将值赋值给左边,其中包含了对左边类型的强制类型转换,而分 ...

谢谢你的详细回答   :)  
回复 使用道具 举报
sanmy_lin 来自手机 中级黑马 2015-6-8 01:12:22
22#
简写方式而已
回复 使用道具 举报
在一般情况下等价,有一种特殊情况不等价,一般情况可以看基础视频或者书知道。特殊情况就是z和x的数据类型不一致时,可能会出错。
回复 使用道具 举报
有的东西不需要问为什么,只需要记住即可
回复 使用道具 举报
+=的意思就是把左边和右边的变量相加再赋值给左边,
回复 使用道具 举报
路过学知识
回复 使用道具 举报
这种写法意思就是:把左右俩边的相加   然后再把值  赋给  左边
回复 使用道具 举报
不光是java啊,语言特性
回复 使用道具 举报
格式问题而已,应该没有为什么
回复 使用道具 举报
+=,/=,*=,-=扩展运算符,是将左右两边相加再将值赋值给左边,其中包含了对左边类型的强制类型转换,而分开写的话会有编译报错提示类型不匹配,需要记住的就是这其中的类型转换。
回复 使用道具 举报
岑寂 发表于 2015-6-7 20:59
也不完全等价啊!还要看两个变量是什么类型的!如果把x当作1,z又是in类型的话其实z+=x就像z=z+x的简写啊 ...

谢谢     
回复 使用道具 举报
QQheima 发表于 2015-6-7 21:04
你可以查查java中自定义运算符重载的知识,然后看看+=是怎么实现功能的

谢谢      
回复 使用道具 举报
八戒 发表于 2015-6-7 20:58
这是java中的一种运算符,你不必要纠结它为什么要等于另一个,你只要记住他们俩的区别就行,面试不会问你 ...

好的     谢谢啦
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马