关于java中输出字符数组的问题

q564414118 2015-09-17 11:13:12
public class Ceshi{
public static void main(String args[]){
char a[]={'A','b','c','d','e'};
char b='c';
System.out.println(a[0]+a[1]);
System.out.println(b);
}
}
这段代码中,第一行输出的为什么是字符所代表的ASCII值,而不是字符Ab。
public class Ceshi{
public static void main(String args[]){
char a[]={'A','b','c','d','e'};
char b='c';
System.out.println(" "+a[0]+a[1]);//在输出a[0],a[1]前加了个空格
System.out.println(b);
}
}
而在第二段代码中,第一行输出的就是Ab,不是第一段代码中的ASCII值。
求大神解答。
...全文
134 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jfhgkdk 2015-09-18
  • 打赏
  • 举报
回复
好吧 好像懂了一点
  • 打赏
  • 举报
回复
引用 3 楼 q564414118 的回复:
[quote=引用 1 楼 ghostkngiht 的回复:] char是一种数值类型,所以第一段代码返回是数字。 而第二段代码有一个""+的操作把相当于把char转换为了String,所以放回的不是数字了。
为什么有了""+操作,就把char转化为String了啊。。求指教[/quote] 因为在计算加减法的时候,如果有高类型的数据,先把低类型的转换为高类型,就如同int +double 就会变成double 类型,char 属于低类型,需要先转换为string,然后计算,所以最后就是string, 在第一种情况下,两个char 加法就会先转换为Int,然后就是AScii码了
q564414118 2015-09-18
  • 打赏
  • 举报
回复
引用 1 楼 ghostkngiht 的回复:
char是一种数值类型,所以第一段代码返回是数字。 而第二段代码有一个""+的操作把相当于把char转换为了String,所以放回的不是数字了。
为什么有了""+操作,就把char转化为String了啊。。求指教
fudapeng7 2015-09-18
  • 打赏
  • 举报
回复
char和String类型问题,还有这个类名我差点没有拼出来~~用Test或者Demo,别用CeShi了……多用英语词汇
ghostkngiht 2015-09-18
  • 打赏
  • 举报
回复
char是一种数值类型,所以第一段代码返回是数字。 而第二段代码有一个""+的操作把相当于把char转换为了String,所以放回的不是数字了。

50,707

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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