黑马程序员技术交流社区

标题: 请教问题 [打印本页]

作者: 心之信子    时间: 2014-8-11 15:14
标题: 请教问题
本帖最后由 心之信子 于 2014-8-13 14:44 编辑

public String output="";
output +="1";
output +="3";
System.out.println(outpu);
结果为 1 3
请问  output +="1" = 什麽作用?????


作者: 陶圣虎    时间: 2014-8-11 15:23
“+=”左右相加 结果赋值给左边
作者: huanhuan    时间: 2014-8-11 16:27
陶圣虎 发表于 2014-8-11 15:23
“+=”左右相加 结果赋值给左边

是的,就是这样,它相当于a=a+1
作者: 烟海    时间: 2014-8-11 16:36


求楼上看清楚题目再讲。。。


这儿是String 不是int类型。。。这儿你们看成加等,那你们为什么不算一个4的结果出来呢?


output="";  --- 1
output +="1";   --- 2
output +="3";   --- 3


楼主,在String类型里面,+是连接符 。这儿第一步中,output是一个空的字符串。
在第2步中,output += "1" 代表是的output = ""+"1" ,得到的值是1。。在这一步中,和output = "1";运算的结果会是一样的,但是过程不一样。。


在第3步中,output +=“3”代表的是output = "1"+"3" ,String类型,+是连接符 ,不是运算符,所以会连起来,得到13 ,而不是4 。 这地方如果是output = “3”的话,就是单纯的赋值了,结果会得到3 。


不过解答完,才想到楼主技术分也不少了,楼主真心是来求教的,不是来水的?

作者: star5603    时间: 2014-8-11 16:44
字符串。。
作者: fantacyleo    时间: 2014-8-11 16:44
烟海 发表于 2014-8-11 16:36
求楼上看清楚题目再讲。。。

2楼没说错,这里的+是运算符,叫作String Concatenation Operator,它是+的一个重载,Java中唯一的一个运算符重载
作者: 想做开发    时间: 2014-8-11 16:58
烟海 发表于 2014-8-11 16:36
求楼上看清楚题目再讲。。。

还真不知道这里  学习了
作者: 烟海    时间: 2014-8-11 17:03
fantacyleo 发表于 2014-8-11 16:44
2楼没说错,这里的+是运算符,叫作String Concatenation Operator,它是+的一个重载,Java中唯一的一个运 ...

是啊。。。
这里把+当作连接符更合理吧 。。。

单单的看成加等。。。。而且这里是String。。。看成加等,没有看错连接符更合理吧 ??
作者: fantacyleo    时间: 2014-8-11 17:38
烟海 发表于 2014-8-11 17:03
是啊。。。
这里把+当作连接符更合理吧 。。。

String Concatenation Operator是Java语言规范的官方名称。怎么理解其含义因人而异,但它确实是一个运算符
作者: 烟海    时间: 2014-8-11 17:44
fantacyleo 发表于 2014-8-11 17:38
String Concatenation Operator是Java语言规范的官方名称。怎么理解其含义因人而异,但它确实是一个运算 ...

好吧。。。

给跪了。。{:3_59:}

对概念什么理解的确实清楚。。。相比较。。我就只知道个大概了。。。
作者: fantacyleo    时间: 2014-8-11 17:57
烟海 发表于 2014-8-11 17:44
好吧。。。

给跪了。。

这也是给编程的严谨要求逼出来的,编译器从不猜测写代码的人想做什么,只是忠实地翻译源代码。论坛上看到很多0基础的提问帖都是由于概念模糊,又喜欢自己发明一些不存在的概念,导致一些匪夷所思的问题出现。
作者: 烟海    时间: 2014-8-11 18:17
fantacyleo 发表于 2014-8-11 17:57
这也是给编程的严谨要求逼出来的,编译器从不猜测写代码的人想做什么,只是忠实地翻译源代码。论坛上看到 ...

{:3_65:} 要向你看齐。。。。。

还在去黑马的路上。。。。看看23号这一期,或者9号这一期怎么样。
作者: fantacyleo    时间: 2014-8-11 18:18
烟海 发表于 2014-8-11 18:17
要向你看齐。。。。。

还在去黑马的路上。。。。看看23号这一期,或者9号这一期怎么样。 ...

哈哈,你比我进度快。我是连自荐信都没交的人
作者: 烟海    时间: 2014-8-11 18:30
fantacyleo 发表于 2014-8-11 18:18
哈哈,你比我进度快。我是连自荐信都没交的人

啊?
那你打算上哪一期 ??

还是单纯来打酱油的?
作者: shuimu_88    时间: 2014-8-11 18:31
output+="1"即output=output+“1”;=就是赋值,但结果是字符串
作者: fantacyleo    时间: 2014-8-11 18:34
烟海 发表于 2014-8-11 18:30
啊?
那你打算上哪一期 ??

看什么时候有空就上哪一期咯
作者: 烟海    时间: 2014-8-11 18:58
fantacyleo 发表于 2014-8-11 18:34
看什么时候有空就上哪一期咯

还在上班吗??哥们。。
作者: 心之信子    时间: 2014-8-11 21:53
烟海 发表于 2014-8-11 16:36
求楼上看清楚题目再讲。。。

看视频时,真是不了解=的作用,经你一讲明白了
作者: 烟海    时间: 2014-8-11 22:10
心之信子 发表于 2014-8-11 21:53
看视频时,真是不了解=的作用,经你一讲明白了

{:3_53:}懂了就好。。

能帮助点别人。。也是一种成就。。。。
作者: 梧桐树下    时间: 2014-8-11 23:27
两边的值一起给右边
作者: 梧桐树下    时间: 2014-8-11 23:29
左边,说错




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