黑马程序员技术交流社区

标题: 求大侠帮忙:x+y与x+=y有什么不同 [打印本页]

作者: zclove898    时间: 2011-11-27 23:18
标题: 求大侠帮忙:x+y与x+=y有什么不同
本帖最后由 zclove898 于 2011-11-30 00:58 编辑

  不明白x+y与x+=y有什么不同,为什么在运行一些程序时,x+=y编译通过,而x+y却编译失败?
谢谢了
作者: 颜小飞    时间: 2011-11-27 23:38
x+y中的"+"是算数运算或者是两个字符串这间的连接符,而x+=y则中的“+=”是赋值运算符,是表示x =x+y;希望能够帮助你理解!加油
作者: 清秋    时间: 2011-11-28 08:12
x+=y 等价于  x = x+y

而 x+y ,算不上一个完整的语句
作者: 冯敏    时间: 2011-11-28 09:30
这个先要看x,y是什么类型的,
如果x,y为String类型的“+”代表连接符号,
如果是整型的,代表将两数相加
x+=y等价于x = x+y;
作者: 吴雨翔    时间: 2011-11-28 09:31
楼上说的对,x+y不是完整语句,+=会让变量直接计算。
作者: fangshutang    时间: 2011-11-28 09:47
x+=y它相当x=x+y它是又一个赋值步骤的
作者: 刘一扬    时间: 2011-11-28 11:04
本帖最后由 刘一扬 于 2011-11-28 11:05 编辑

一个赋值  一个只计算 不赋值而已
作者: 刘旭    时间: 2011-11-28 11:22
x+y不是完整语句,x+=y也不一定能通过编译。当x+=y数据类型一致或可以自动转型时,相当与x=x+y,否则,也会报错。
作者: 肖岑锋    时间: 2011-11-28 13:07
+=是Java运算符,能够自动转型,而x=x+y不能够自动转型,所以有的时候用x +=y编译通过而用x = x+y编译不通过
作者: yaowenjiang    时间: 2011-11-29 20:47
x+y 是x与y的值相加    x+=y  相当于 x=x+y   把x+y的值赋给x
作者: 黑马_孙万春    时间: 2011-11-29 22:23
x+=y是一个赋值表达式,而x+y要根据x、y是什么类型来看是什么,有时表示相加,有时表示连接。要具体情况看!
作者: zclove898    时间: 2011-11-30 00:42
颜小飞 发表于 2011-11-27 23:38
x+y中的"+"是算数运算或者是两个字符串这间的连接符,而x+=y则中的“+=”是赋值运算符,是表示x =x+y;希望 ...

恩,明白了,谢谢了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2