创建
1.数组的声明
数据类型 数组名[];或 数据类型[] 数组名;
可以存储基本数据类型 对象 接口,不用写元素个数,数组名符合标识符规定
2.创建数组空间
3.初始化数组
数组的创建:
数组名 = new 数组元素类型[元素个数]
例:
str = new String[10];
创建或系统自动赋初值
数组的声明和创建:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
数组名可以不指向任何数组对象
数组初始化
1.静态初始化:
数据类型 数组名[] = {初值表(用逗号分割)};
例:
String str[] = {"we","are","student"};
2.动态初始化:
使用关键字new初始化数组
先创建数组再初始化数组
在数组创建的同时初始化
数据类型 数组名[] = new 数据类型[]{初值表};
例:
int[] arr; arr = new int[]{12,34,46,25};
问题
空指针异常————没用分配空间就使用
数组越界异常————下标越界
每个数组都有一个属性变量length指明它的长度。数组名.length 为数组长度。
数组元素引用方式为:arrayName[index]
index为数组下标
例:
int age[];
age = new int[3];
age[0] = 20; age[1] = 23;age[2] = 2 + age[1];
对象数组初始化后,我们可以使用成员运算符“.”访问每个数组元素中的成员(变量和方法)。
数组做参数时传递的是地址,数组元素做参数时传递的是值。
在形参列表中,数组名后的[]不能省略,[]两个数与维数相同
实参中[]可省
System.arraycopy(from,fromIndex,to,toIndex,count);
从数组from的索引fromIndex位置起,复制count个元素到数组to的toIndex位置起
Arrays.sort(from.fromIndex,toIndex);对指定数组from从fromIndex到toIndex排序。
二维数组
int[][] xx;
xx = new int[3][];
xx[0]=new int[1];//第一行一列
xx[1]=new int[3];//第二行三列
xx[2]=new int[2];//第三行两列
初始化:
1.静态初始化
2.动态初始化
引用:
数组名[index1][index2]