System.out.print(""+'a'+1)和System.out.print('a'+1)区别?

lianghua19 2009-09-30 11:33:58
为何结果不同?
System.out.print(""+'a'+1)这个为什么输出的是字符串啊?
...全文
354 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
pywepe 2009-09-30
  • 打赏
  • 举报
回复
用了""就会变成String的

接分
hh161151 2009-09-30
  • 打赏
  • 举报
回复
因为前面有个"",所以自然是字符串啊
justinavril 2009-09-30
  • 打赏
  • 举报
回复
1#和2#都回答了 我就不蹭分了 lz结贴吧
hjiea666 2009-09-30
  • 打赏
  • 举报
回复
数值型(包括char型)和字符串相加要自动转换成字符串
andyheway 2009-09-30
  • 打赏
  • 举报
回复
system.out.print().
这个输出的时候会自动的toString()
lxxzhy 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fuyou001 的回复:]
System.out.print('a'+1)//会隐式转换成int 98
[/Quote]
.
szlb2008 2009-09-30
  • 打赏
  • 举报
回复
接分飘过
fuyou001 2009-09-30
  • 打赏
  • 举报
回复
System.out.print('a'+1)//会隐式转换成int 98
fuyou001 2009-09-30
  • 打赏
  • 举报
回复
System.out.print(""+'a'+1) //因为你用"" ,所以整个结果都是字符串

charwei 2009-09-30
  • 打赏
  • 举报
回复
因为你用了"",空格加任何数字都是字符串 (""+5+8=58)
zhuzeitou 2009-09-30
  • 打赏
  • 举报
回复
第一个是print(String s)
第二个是print(int i)
dajiadebeibei9 2009-09-30
  • 打赏
  • 举报
回复
因为""是一个字符串 你用+好进行连接,也就是在""之后连接字符串
由于 "a"是字符型 +号会使用字符型自动向字符串类型转换 后面的1就更别说了 也被转换为字符串了
这体现了级别的类型在某些情况下会被自动封装成级别高的类型
wuwenzhe 2009-09-30
  • 打赏
  • 举报
回复
学习了
problc 2009-09-30
  • 打赏
  • 举报
回复
想输出一样就加个括号吧
System.out.print(""+('a'+1));
shine333 2009-09-30
  • 打赏
  • 举报
回复
"" + 'a'==>"a"
"a" + 1 ==>"a1"

===============

'a' == (char) 97;
'a' + 1 = 97 + 1 = 98
bigbro001 2009-09-30
  • 打赏
  • 举报
回复
第一个例子中,有+""的连接表达式,整个表达式自动升级(auto promotion)成字符串(String)
第二个例子中,含有有整数字面量(integer literal)的连接表达式,字符'a'自动升级成int类型

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧