数组定义格式:
声明并开辟数组: 数据类型 数组名称[] = new 数据类型[长度];
数据类型[] 数组名称 = new 数据类型[长度];
分步完成:
声明数组: 数据类型 数组名称[] = null; 数据类型[] 数组名称 = null;
开辟数组: 数组名称 = new 数据类型[长度];
数组很少用到。
当数组开辟空间后可以用“数组名称[索引]”的形式进行数组的访问,但要注意如果数组长度为3,那么索引范围0~2.
public class ArrayDemo{
public static void main(String args[]){
int data[] = new int[3];
data[0] = 10;
System.out.println(data[0]);
System.out.println(data[1]);
System.out.println(data[2]);
}
}
Java中可以使用“ 数组对象.length ”的属性取得数组长度。
数组静态初始化
动态初始化是可以在开辟内存空间后进行赋值,如果希望数组开辟后就可以存在明确的内容,就可以静态初始化。
数据类型 数组名称[] = new 数据类型[]{值,值...};
二维数组
一维数组可以根据一个索引号确定内容
动态初始化: 数据类型 数组名称[][] = new 数据类型[行个数][列个数];
静态初始化: 数据类型 数组名称[][] = new 数据类型[][]{
{数据,数据,数据},
{数据,数据,数据},...
},
数组名称[索引号] = 数组名称[索引号] * 2 //数组中元素乘2后保存
与数组有关的类库:
拷贝:System.arraycopy(原始数组,原始数组开始点,目标数组,目标数组开始点,拷贝长度);
范例:拷贝数组:
目标数组1:1、2、3、4、5、6、7 、 8 、9
原始数组2:10、20、30、40、50、60、70 、 80 、90
希望数组2的部分内容替换掉数组1的内容:1,60,70,80,5,6,7,8,9
public class ArratDemo{ public static void main(String args[]){ int data1[] = new int[]{1,2,3,4,5,6,7,8,9}; int data2[] = new int[]{10,20,30,40,50,60,70,80,90}; System.arraycopy(data2,5,data1,1,3); } }
数组排序:java.util.Arrays.sort(数组排序);
范例:数组排序
public class ArratDemo{ public static void main(String args[]){ int data[] = new int[]{88,45,87,32,44,87,4}; java.util.Arrays.sort(data); } }
对象数组:某一个数组中保存的都是对象,所以对于一个对象数组的定义格式有两种:
动态初始化: 类名称 对象数组名称[] = new 类名称[长度];
静态初始化: 类名称 对象数组名称[] = new 类名称[]{实例化对象,实例化对象,.....};
范例:使用动态初始化定义数组