一、数组的概念
- 数组可以看成多个相同类型数据的组合。
- 数组属于引用类型,也可以看成对象,其中每一个元素可以看成一个成员变量。
- 数组的元素可以是任何数据类型,包括基本类型和引用类型。
- c和c++中的数组都可以分配在栈上面,Java中的数组只能分配在堆上面。
二、一维数组
声明方式有两种:
- 格式一:数组元素类型 数组名[ ];即type var[ ]
- 格式二:数组元素类型[ ] var
例如:
int [ ] arr;
int arr [ ];
注意:Java中声明变量不能指定其长度(数组中元素个数),int [ 5 ]
三、数组模型
- 一维数组:直线(一行)。
- 二维数组:长方体(行,列);
- 三维数组:立方体
- 人类最多认识到三维空间
四、数组对象的创建
Java中使用关键字new创建数组对象。
格式:数组名 = new 数组元素类型[数组元素个数]
五、元素为引用类型的数组
元素为引用类型的数组,其中每一个元素都需要实例化
Person类:
public class Person {
private String name;
private int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
}
六、数组的初始化
1.动态初始化:数组声明与元素分配空间和赋值分开进行
public class Test {
public static void main(String[] args) {
//声明
int[] arr1;
//创建对象
arr1 = new int[3];
//赋值
for(int i=0;i<arr1.length;i++){
arr1[i] = i+1;
}
//声明
Person[] arr ;
//创建对象
arr = new Person[3];
//赋值
for(int i=0;i<arr.length;i++){
arr[i] = new Person();
}
}
}
2.静态初始化:在声明数组的同时为元素分配空间和赋值
public class Test {
public static void main(String[] args) {
int[] arr = new int[]{1,2,3};
//元素之间用逗号隔开
Person[] arr1 = new Person[]{new Person(),new Person(),new Person()};
}
}
七、数组元素的默认初始化
数组创建后,每个元素会根据元素类型初始化为相应的值。
public class Test {
public static void main(String[] args) {
int[] arr = new int[3];
Person[] arr1 = new Person[3];
System.out.println(arr[0]);//输出结果:0
System.out.println(arr1[0]);//输出结果:null
}
}
八、二维数组
九、JAVA中的各个维度的数组模型