数组是多个相同数据类型数组组合,其中数据类型是任何数据类型。
数组变量是引用类型变量,数组可以作为对象,数组中的每一个元素相当于对象的成员变量,所以数组元素可以默认初始化。(博客java——变量分类有关于成员变量初始化的说明)。
一维数组
声明
type var[];或者type[] var
初始化
动态初始化:定义与数组元素分配和赋值分开操作
int a[]; a=new int[3]; a[0]=0; a[1]=1; a[2]=2;
静态初始化:定义的同时为数组元素分配空间并赋值
int a[]={1,2,3};
内存分析
class TestArray
{
public static void main(String arg[])
{
int[] s;
s=new int[5];
for(int i=0;i<5;i++)
{
s[i]=i;
}
}
}
以上程序执行到最后,内存应该是这样的:
二维数组
二维数组可以看做以数组为元素的数组。
初始化
动态初始化(注:java中多维数组的声明和创建按照从高维到低维的顺序进行)
int a[][]=new int[3][]; a[0]=new int[2]; a[1]=new int[4]; a[2]=new int[3];
静态初始化
int a[][]={{1,2},{2,3},{3,4}};
内存分析:
class TestArr
{
public static void main(String arg[])
{
int s[][]=new int[3][];
s[0]=new int[2];
s[1]=new int[4];
s[2]=new int[3];
for(int i=0;i<a.length;i++)
{
for(int j=0;j<s[i].length;j++)
{
s[i][j]=i;
}
}
}
}
以上程序执行到最后,内存应该是这样的
![](https://img-blog.csdn.net/20140729134106177?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc3VuZXFpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
总结
1.java中一维数组的元素是数据类型相同的变量,而二维数组就是将多个一维数组组合成数组,所以理解好一维很重要。2.数组是引用变量,可以作为一个对象,而它的元素就是成员变量。