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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 北京南瓜 中级黑马   /  2015-4-25 21:37  /  569 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/**
为什么①打印的地址值,而②打印的是c数组的所有字符??
*/
class CharDemo
{
        public static void main(String[] args){
                int[] a = {1,2,2};
                System.out.println(a);//①

                char[] c = {'1','a','3'};
                System.out.println(c);//②
       
        }
}

4 个回复

倒序浏览
这是java里自己定义的函数重载,println这个方法 ,当接收到char类型的数组他就遍历数组,要是别的类型的就打印地址值
回复 使用道具 举报
wangyu 发表于 2015-4-25 21:50
这是java里自己定义的函数重载,println这个方法 ,当接收到char类型的数组他就遍历数组,要是别的类型的就 ...

为什么啊,我看过api文档,还是不懂,疑惑有两点
1、两者输出的都是数组名的为什么会有区别
2、如果打印的是c数组,那如何输出c数组的地址值
回复 使用道具 举报
我只知道这么多,别的我就不知道了,而且根本没可能用到地址值
回复 使用道具 举报
System.out.println();
是System.out返回的是一个PrintStream打印流对象,然后这个打印流对象调用println方法,而这个方法是可以穿字符数组作为参数的,所以你传个字符数组进去,他就能将里面的元素打印出来的。其他类型的数组不能作为调用该方法的参数。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马