定义
定义包括声明、创建和初始化三个过程。
声明
声明,就是向编译器说明新变量的类型和名字,不实际分配内存。
int[] array;
上面这句,说明新变量的数据类型是int型的数组,变量名是array。
二维数组也是一样的。
int[][] arrays;
创建
创建,就是通过new命令在内存中开辟一块新空间并返回地址。
int[] array = new int[5];
上面这句,为array开辟了一块int类型、长度为5的空间。
二维数组有一点不同,就是可以不指定第二维的长度。为什么可以这么做,留着之后有空解释。
int[][] arrays = new int[5][];
初始化
声明的同时初始化
可以在声明array的同时,使用new命令和数组对array进行初始化。
int[] array = new int[] {1, 2, 3, 4, 5};
int[][] arrays = new int[][] {{1, 2}, {3, 4}};
也可以省略new命令,直接使用数组对array进行初始化。
int[] array = {1, 2, 3, 4, 5};
int[][] arrays = {{1, 2}, {3, 4}};
先声明,再初始化
如果先声明,那么就一定要new命令+数组进行初始化。
int[] array;
array = new int[] {1, 2, 3, 4, 5};
int[][] arrays;
arrays = new int[][] {{1, 2}, {3, 4}};
绝对不能先声明,然后再省略new命令直接用数组进行初始化!!!以下是错误示范!!!
int[] array;
array = {1, 2, 3, 4, 5};
int[][] arrays;
arrays = {{1, 2}, {3, 4}};
还可以通过遍历数组下标的方式来初始化,操作类似于下文的修改。
查找
可以通过数组的下标,来查找数组中的元素。
public class Main
{
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int n = array.length;
for(int i = 0; i < n; i++) {
System.out.println(array[i]);
}
}
}
如果是遍历数组元素,而不是根据下标查找某个具体元素,还可以用下面这种方式。
public class Main
{
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
for(int item : array) {
System.out.println(item);
}
}
}
修改
修改和查找一样,可以通过数组下标来修改对应位置的数组元素。
public class Main
{
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};
int n = array.length;
for(int i = 0; i < n; i++) {
array[i] = i + 1;
}
}
}
增加 & 删除
因为数组的空间是固定不变的,所以其实做不到增加或删除。如果想要实现和c++中vector一样的功能,可以考虑使用List类。
参考:
Java中声明、定义、赋值、初始化、变量、引用、创建的区别(详细)_编程码哥的博客-CSDN博客_java声明是什么意思