黑马程序员技术交流社区
标题:
数组的打印语句。
[打印本页]
作者:
黄战胜
时间:
2011-12-28 17:10
标题:
数组的打印语句。
今天看到加强班视频,才发现数组不能用直接用System.out.println();打印,然后就翻了JDK手册,这些基本数据类型的数值都没有在JDK手册中有具体的对象体现出来。没有封装过。这个System.out.println()语句打印的时候是不是就是调用对象的toString()方法,数组没有相应类,所以没有toString()方法,所以不能直接打印,如果打印要用遍历的方法。不知说的是否正确???
作者:
曾运
时间:
2011-12-28 17:34
System.out.println(数组名称); //打印的是栈内存中的一个引用变量 ,它指向了堆内存的实体,打印数组引用就是: 类型@内存地址
下面的代码看看。{:soso_e112:}
public class Demo
{
public static void main(String[] args)
{
Person per[]=new Person[2];//对象数组
per[0]=new Person("aa",12);
per[1]=new Person("bb",22);
System.out.println(per);//Person;@1c78e57
System.out.println(per[0]);//姓名:aa 年龄:12
int a[]={1,2,3};//整型数组
System.out.println(a);//[I@5224ee
System.out.println(a[0]);// 1
}
}
class Person
{
String name;
int age;
Person(String name,int age)
{
this.name=name;
this.age=age;
}
public String toString()//重写toString 方法
{
return "姓名:"+this.name+" 年龄:"+this.age;
}
}
复制代码
作者:
罗利民
时间:
2011-12-28 18:22
本帖最后由 罗利民 于 2011-12-28 18:24 编辑
System.out.println()语句打印的时候 是 调用对象的toString()方法
数组可以用System.out.println()打印,就像楼上的说的,打印的是数组的引用值而已
关于楼主说的“数组没有相应类,所以没有toString()方法,所以不能直接打印”
这句话不太正确吧?
数组是个引用类型,你说的相应类也是引用类型,所以没有数组没有相应类的这种说法。
而且数组里的元素是可以为引用类型的。
如果遍历打印数组可以用 foreach (type identifier in expression) statement ;
如:int[] arr = { 0, 1, 2, 3, 4 };
foreach (int i in arr)
{ System.out.println(i);}
呵呵
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2