欢迎来到天天文库
浏览记录
ID:30779097
大小:56.50 KB
页数:7页
时间:2019-01-03
《java提高篇之数组(1):认识java数组-编程开发技术》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、java提高篇Z数组(1):认识JAVA数组-编程开发技术java提高篇之数组(1):认识JAVA数组原文出处:chenssy噢,它明白了,河水既没有牛伯伯说的那么浅,也没有小松鼠说的那么深,只有自己亲自试过才知道!道听途说永远只能看到表明现象,只有亲自试过了,才知道它的深浅!!!!!一、什么是数组数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸是不可变的!?????但是这只是数组的最表面的东西!深一点?就是这样:数组是一个简单的复合数据类型,它是一系列有序数据的集合,它当中的每一个数据都具有相同的数据
2、类型,我们通过数组名加上一个不会越界下标值来唯一确定数组中的元素。?????还有更深的,那就是数组是一个特殊的对象!!(对于这个LZ理解的不是很好,对JVM也没有看,所以见解有限)。以下参考文献:http://developer・51cto.com/art/201001/176671・htm>http://www.blogjava・net/flyskyl9/articles/92763.html?opt=admin?????不管在其他语言中数组是什么,在java中它就是对象。一个比较特殊的对象。publicclassTest{publicstaticvoidmain(Strin
3、g[]args){int[]array=newint[10];System,out・printlnC^array的父类是:"+array.getClass().getSuperclass());System,out.println("array的类名是:”+array,getClass().getName());}}Output:array的父类是:classjava.lang.Objectarray的类名是:[I?????从上面示例可以看岀,数组的是Object的直接子类,它属于“第一类对象”,但是它又与普通的java对象存在很大的不同,从它的类名就可以看出:[I,这是什么东
4、东??在JDK中我就没有找到这个类,话说这个〃[I”都不是一个合法标识符。怎么定义成类啊?所以我认为SUM那帮天才肯定对数组的底层肯定做了特殊的处理。?????我们再看如下示例:publicclassTest{publicstaticvoidmain(String[]args){int[]array_00=newint[10];System,out.printin(,z—维数组:"+array_00.getClass()・getName());int[][]array_01二newint[10][10];System,out.println(,z二维数组:"+array_01.
5、getClass()・getName());int[][][]array_02=newint[10][10][10];System,out.printin(,z三维数组:"+array_02.getClass().getName());}Output:一维数组:[I二维数组:[[I三维数组:[[[I?????通过这个实例我们知道:[代表了数组的维度,一个[表示一维,两个[表示二维。可以简单的说数组的类名由若干个’['和数组元素类型的内部名称组成。不清楚我们再看:publicclassTest{publicstaticvoidmain(String[]args){System.o
6、ut•println(〃Objcct[]:〃+Object[Lclass);System,out.println(〃Object[][]:〃+Object[][].class);System,err.printin("Object[][][]:〃+Object[][][].class);System.out•println(“Object:"+Object.class);}}Output:Object[]:class[Ljava.lang.Object;Object[][]:class[[Ljava.lang.Object;Object[][][]:class[[[Ljava.
7、1ang.Object;Object:classjava.lang.Object?????从这个实例我们可以看出数组的“庐山真面目”。同时也可以看出数组和普通的Java类是不同的,普通的java类是以全限定路径名+类名来作为自己的唯一标示的,而数组则是以若干个[+L+数组元素类全限定路径+类来最为唯一标示的。这个不同也许在某种程度上说明了数组也普通java类在实现上存在很大的区别,也许可以利用这个区别来使得JVM在处理数组和普通java类时作出区分。????我们暂且不论这个[I是什么东东,是
此文档下载收益归作者所有