黑马程序员技术交流社区

标题: 这一题做了好几遍还是错!!!!! [打印本页]

作者: 卷发碎碎念    时间: 2015-7-23 19:51
标题: 这一题做了好几遍还是错!!!!!
这题做了不下于五遍了System.out.println(""+'a'+1);真是要疯了!!!!!

作者: spike_az    时间: 2015-7-23 19:55
跟字符串相连不都是字符串吗?
作者: 卷发碎碎念    时间: 2015-7-23 19:59
spike_az 发表于 2015-7-23 19:55
跟字符串相连不都是字符串吗?

不知道为啥看到这个就发蒙。
作者: kang13    时间: 2015-7-23 20:02
怎么了 这不会??
作者: 卷发碎碎念    时间: 2015-7-23 20:11
kang13 发表于 2015-7-23 20:02
怎么了 这不会??

对,已经恐惧了这题了,选择恐惧。
作者: China_Riven    时间: 2015-7-23 20:30
这不是一条打印语句吗?怎么会错,你想要什么结果呢
作者: 句子    时间: 2015-7-23 20:43
这不是输出a1啊!System.out.println(""+”a“+1);这个代码输出也是a1
作者: 15917846944    时间: 2015-7-23 21:04
加油!不要放弃!肯定能学会的
作者: vinoMVP    时间: 2015-7-23 21:14
基础不牢。。。。
作者: 陈建民1    时间: 2015-7-23 21:19
输出是a1啊。。
作者: heavenzizou    时间: 2015-7-23 21:22
呵呵,表示根本看不懂
作者: 奇峰    时间: 2015-7-23 21:32
输出的是a1没错。
作者: 小p    时间: 2015-7-23 21:34
你想要什么样的输出结果
作者: 康恒强    时间: 2015-7-23 22:08
呵呵呵,,,
作者: 马北剑西    时间: 2015-7-23 22:17
慢慢来嘛
作者: 官沛    时间: 2015-7-23 22:24
别放弃。整一个错题本,把不会的一道一道记下来。
作者: 小城青年    时间: 2015-7-23 22:27
哈哈,第一次考试,这道题果断也错了,不过那次一错就记住了,以后应该不会错了!
作者: micro_hx    时间: 2015-7-23 22:29
都快疯啦啊。。。
作者: oooohnick    时间: 2015-7-23 22:29
加油哈!这个记住就好啦!
作者: 水佳伟    时间: 2015-7-23 22:30
答案是a1,因为前面是个String类型数据+后'a'也会转为字符类型,‘a’后面的+1也会输出
作者: 年少轻_Bocv6    时间: 2015-7-23 22:43
最近我碰到了两次了,我算是记住了
作者: 卷发碎碎念    时间: 2015-7-24 21:54
年少轻_Bocv6 发表于 2015-7-23 22:43
最近我碰到了两次了,我算是记住了

嗯嗯,我也要记住,不能再忘了。
作者: ZeroHegel    时间: 2015-7-24 22:13
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下
作者: kkkkkccccc    时间: 2015-7-24 22:19
输出就知道了~
作者: 卷发碎碎念    时间: 2015-7-24 22:20
ZeroHegel 发表于 2015-7-24 22:13
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下 ...

我看过一篇博客,好像就是这么说的。
作者: 卷发碎碎念    时间: 2015-7-24 22:26
ZeroHegel 发表于 2015-7-24 22:13
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下 ...

我看过一篇博客,好像就是这么说的。比如:String s = "abc";他先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值'a'、'b'、'c',然后在堆中创建一个String对象,它的值是刚才在栈中创建的三个char型值组成的数组{'a'、'b'、'c'},接着这个String对象被存放进字符串常量池,最后将s指向这个对象的地址,如果"abc"已经被保存在字符串常量池中,则在字符串常量池中找到值为"abc"的对象,然后将s指向这个对象的地址。
作者: 卷发碎碎念    时间: 2015-7-24 22:28
ZeroHegel 发表于 2015-7-24 22:13
我的理解是String类型是一个引用类型,其实是用字符数组存的。不知道有没有大神解释一下 ...

我看过一篇博客,好像就是这么说的。比如:String s = "abc";他先在栈中创建一个对String类的对象引用变量s,然后去查找"abc"是否被保存在字符串常量池中,如果没有则在栈中创建三个char型的值'a'、'b'、'c',然后在堆中创建一个String对象,它的值是刚才在栈中创建的三个char型值组成的数组{'a'、'b'、'c'},接着这个String对象被存放进字符串常量池,最后将s指向这个对象的地址,如果"abc"已经被保存在字符串常量池中,则在字符串常量池中找到值为"abc"的对象,然后将s指向这个对象的地址。




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