数组是多个相同数据类型数组组合,其中数据类型是任何数据类型。
数组变量是引用类型变量,数组可以作为对象,数组中的每一个元素相当于对象的成员变量,所以数组元素可以默认初始化。(博客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; } } } }
以上程序执行到最后,内存应该是这样的
总结
1.java中一维数组的元素是数据类型相同的变量,而二维数组就是将多个一维数组组合成数组,所以理解好一维很重要。2.数组是引用变量,可以作为一个对象,而它的元素就是成员变量。