黑马程序员技术交流社区

标题: 简单的代码段,但我没弄懂,求大神给个解释 [打印本页]

作者: kenfine    时间: 2015-2-7 07:53
标题: 简单的代码段,但我没弄懂,求大神给个解释
  1. int[] num={1,2};
  2.         char[] ch1={'北','上'};
  3.         String[] str={"北京","上海"};
  4.                
  5.         System.out.println(num);//[I@55e55f
  6.         System.out.println(ch1);//北上
  7.         System.out.println(str);//[Ljava.lang.String;@64883c
复制代码

主要int[]和String[]能理解,但是char[]看看也是醉了...
作者: 草鱼狂飙    时间: 2015-2-7 08:20
其实在效果上 char[] 的效果跟String基本等效,在java之前之中的的c语言中是没有String类型的,java中引用String可能是为了程序员简化使用char[]
作者: 赵耿    时间: 2015-2-7 08:29
那样打印是打印不出来的,它们都是数组,必须要有给定的下标才能打印,char[ ]是字符数组,元素要用单引号包起来,String[ ]是字符串数组,元素要用双引号包起来,打印数组元素时要有下标,比如System.out.print(ch1[0]]);想打印整个数组时,必须循环了!
作者: huangchunwei    时间: 2015-2-7 09:01
醉了。。。
作者: d342784178    时间: 2015-2-7 10:28
我也醉了 求解
作者: coolmiao13    时间: 2015-2-7 10:51
第二行char数组定义完,相当于String的字符串,那么你输出的时候直接打印的就是字符串。也就是你拼其来的两个数据。
第一行int数组直接打印输出的值就是当时int数组指向的地址,也就是哈希值。
第三行,其实是一个对象的数组,内部的元素是一个一个的String对象,你直接输出数组,当然给你的是哈希值。

如果你定义一个String 字符串,然后直接输出的话,会直接得到这个字符串,如果定义数组,那么输出的结果就是该数组的地址值。
作者: xiaoyi    时间: 2015-2-7 12:33
我也看醉了
作者: lwh316658735    时间: 2015-2-7 13:38
char数组是个另类,直接打印是将所有元素打印出来,记住就好
作者: outsider1020    时间: 2015-2-7 13:57
很有意思啊。。。。。
作者: 冷遇    时间: 2015-2-7 15:42
底层的原理需要挖一挖啊!
作者: 从未离开过    时间: 2015-2-7 16:29
char[] 就是string?
作者: 邓士林    时间: 2015-2-7 16:41
数组啊,有什么不明白
作者: 俺做android开发    时间: 2015-2-7 20:49
顶你一下
作者: 白小马    时间: 2015-2-7 20:57
看了这点代码还是不会   视频还是看的不够透彻啊
作者: 心镜逝水    时间: 2015-2-7 22:09
,,,,,,,




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