1、数组的定义格式:
数组属于引用数据类型,使用的时候需要开辟内存空间的。
声明时直接开辟内存空间
数据类型 数组名称[] = new 数据类型[长度]
数据类型 [] 数组名称 = new 数据类型[长度]
分布声明
声明数组:数据类型 数组名称[] = null --> 开辟栈内存空间:相当于一个人的名字。
实例化数组:数组名称 = new 数据类型[长度] --> 开辟堆内存空间:数组只有开辟了堆内存空间之后才能使用。
注意:
关键字new只要一出现,则肯定表示数据类型是引用数据类型,要进行堆、栈空间的开辟。
开辟的内容都是用默认值表示,如果要想为数组的元素赋值,则需要通过下标的方式进行访问。
2、堆栈内存的解释:
数组操作中,在栈内存中保存的永远是数组的名称,只开辟了栈内存空间数组是永远无法使用的,必须有指向的推内存才可以使用,要想开辟新的推内存则必须使用new关键字,之后只是将此堆内存的使用权交给了对应的栈内存空间,而且一个堆内存空间可以同时被多个栈内存空间指向,即:一个人可以有多个名字,人就相当于堆内存,名字就相当于栈内存。
3、数组的初始化:
动态初始化:开辟数组的时候并不知道数组中的具体内容是多少,而只是使用了默认值表示。
静态初始化:数据类型 数组名称 [] = {若干取值,......}
4、二维数组:
动态初始化:数据类型 数组名称 [] [] = new 数据类型[长度][长度]
静态初始化:数据类型 数组名称 [] [] = {{1,2,3},{4,5,6}}
【2011-12-22】