A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 金辉 高级黑马   /  2013-5-9 17:53  /  1877 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 金辉 于 2013-5-9 18:36 编辑
  1. public class ParaDemo{
  2. public static void main(String[] args)
  3. {  
  4.   char[] ch = {'d','b','2'};
  5.   System.out.println(ch);
  6. }
复制代码
刚才看到的,上面代码是不是证明char类型数组可以不用遍历就直接输出,如果是,为什么呢?

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

7 个回复

倒序浏览
本帖最后由 zn123_4 于 2013-5-9 18:07 编辑

哥,这输出的肯定是char[]数组的首地址,要遍历的话可以看下毕姥爷的视频,很详细
  1. /*
  2.                 需求:遍历数组
  3.         */
  4.         public static void printArray(int[] arr)
  5.         {
  6.                 for(int x=0; x<arr.length; x++)
  7.                 {
  8.                         if(x==arr.length-1)
  9.                         {
  10.                                 System.out.print(arr[x]);
  11.                         }
  12.                         else
  13.                         {
  14.                                 System.out.print(arr[x]+",");
  15.                         }
  16.                 }
  17.                 System.out.println();
  18.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
本帖最后由 孙浩 于 2013-5-9 18:21 编辑

我调试了一下:发现它底层走的是   
public void write(char cbuf[]) throws IOException {        write(cbuf, 0, cbuf.length);
    }
out流对象的println()方法有重载方法:println(char []  x)
回复 使用道具 举报
本帖最后由 殇_心。 于 2013-5-9 18:24 编辑

是可以的。
原因是: System.out.println(char [] x)这样一个方法存在
               

评分

参与人数 1黑马币 +4 收起 理由
王靖远 + 4 很给力!

查看全部评分

回复 使用道具 举报
zn123_4 发表于 2013-5-9 17:58
哥,这输出的肯定是char[]数组的首地址,要遍历的话可以看下毕姥爷的视频,很详细 ...

你为什么不动手验证下我的代码呢
回复 使用道具 举报
    public class Demo{
public static void main(String[] args)
{  
  char[] ch = {'d','b','2'};
  System.out.println(ch);
  String ch1 = "db2";//其实你上面的语句和这行代码的意义是一样的。因为java字符串可以转为一个数组。反过来就是字符数组本身就是一个字符串。
  System.out.println(ch1);
}
}

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
至于为什么不用遍历道理就很简单了  ,因为打印字符串也不需要遍历
回复 使用道具 举报
殇_心。 发表于 2013-5-9 18:17
是可以的。
原因是: 字符数组的toString()方法重写时,是这么定义的。 ...

刚刚查了下,是有这个方法
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马