JAVA数组
数组在每门编程语言中都十分重要
但是不同语言中对于数组的理解和作用都不尽相同
在JAVA语言中数组用来存储固定大小的同类型元素
比如:您可以声明一个数组变量,如num[100]代替独立变量num0、num1、num2...num99
今天会带大家介绍JAVA数组的声明、创建和初始化
一、声明和初始化数组
首先使用一个数组需要先声明一个数组变量,才能在程序中使用数组,下面是声明数组变量的语法:
声明数组
要声明一个数组,你需要制定数组的类型,后面跟着数组的一对方括号[]:
int[] numbers; //声明一个整数数组
也可以在声明时为数组分配内存:
int[] numbers = new int[5]; // 声明并分配一个包含 5 个整数的数组
初始化数组
我们已经声明类一个数组,我们要给这个数组初始化。
初始化数组是为这个数组分配内存并赋予初始值。
JAVA中有几种初始化数组的方式:
直接初始化
你可以在声明数组的同时为数组分配内存并赋值
int[] numbers = {1, 2, 3, 4, 5}; // 直接初始化一个整数数组
使用循环初始化
你可以在声明数组的同时为数组分配内存并赋值
int[] numbers = new int[5]; // 声明一个包含 5 个整数的数组
for (int i = 0; i < 5; i++) {
numbers[i] = i + 1;
}
访问数组元素
访问数组元素是通过数组的索引来获取数组中的值。
在JAVA中数组的索引是从0开始,因此第一个元素的索引是0,第二个是1,以此类推。
例如,要访问刚刚实例中numbers
数组的第一个元素:
int firstNumber = numbers[0]; // 获取第一个元素的值,即 1
数组的长度
如果要获取数组的长度,可以使用数组的length属性:
int length = numbers.length; // 获取数组 numbers 的长度,即 5
二、遍历数组
遍历数组是指逐个访问数组中的所有元素,通常使用循环来实现。
在JAVA中常用的循环有for
循环和foreach
循环。
for循环遍历数组
使用for循环如何遍历数组:
int[] numbers = {1, 2, 3, 4, 5};
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]); // 输出数组元素
}
使用foreach循环
foreach循环,可以简洁的遍历数组:
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number); // 输出数组元素
}
foreach方法以只读形式遍历集合所有的元素并为每一个元素执行一个动作。
for(元素类型t 元素变量x : 遍历对象obj){ 引用了元素变量的java语句; }
其中元素类型是:遍历对象中每个元素的数据类型
其中元素变量是:可以自定名,它的作用域只在当前循环内部
其中遍历对象是:要进行遍历的对象。
其中JAVA语句是:在循环体中对元素变量进行操作的JAVA语句int[] numbers = {1, 2, 3, 4, 5}; for (int number : numbers) { //int元素类型 number元素变量 numbers遍历对象,也就是上面声明的数组numbers System.out.println(number); //对元素变量进行操作JAVA语句 }
## 三、数组的常见操作
除了声明、初始化和遍历数组,数组还支持许多常见的操作,如添加元素、删除元素、查找元素等。
### 添加元素
Java 中的数组大小是固定的,所以添加元素通常需要创建一个新数组,然后将原数组的元素复制到新数组中,并在新数组中添加新元素。
### 删除元素
删除数组中的元素通常也需要创建一个新数组,将原数组中不需要删除的元素复制到新数组中:
```java
int[] numbers = {1, 2, 3, 4, 5};
int elementToRemove = 3; // 要删除的元素
int[] newArray = new int[numbers.length - 1];
int newIndex = 0;
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] != elementToRemove) {
newArray[newIndex] = numbers[i];
newIndex++;
}
}
numbers = newArray; // 更新数组为新数组
查找元素
要在数组中查找元素,可以使用循环遍历数组,逐个比较每个元素的值,找到匹配的元素后返回索引或值:
int[] numbers = {1, 2, 3, 4, 5};
int elementToFind = 3; // 要查找的元素
int foundIndex = -1; // 初始化为 -1 表示未找到
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == elementToFind) {
foundIndex = i;
break; // 找到元素后退出循环
}
}
if (foundIndex != -1) {
System.out.println("找到元素 " + elementToFind + ",索引为 " + foundIndex);
} else {
System.out.println("未找到元素 " + elementToFind);
}
四、多维数组
Java 支持多维数组,即数组的数组。多维数组可以看作是矩阵或表格,通常用于表示二维或更高维的数据结构。
二维数组
二维数组是最常见的多维数组,它可以看作是一个表格,有行和列:
int[][] matrix = new int[3][4]; // 声明一个 3x4 的二维整数数组
00 | 01 | 02 | 03 |
---|---|---|---|
10 | 11 | 12 | 13 |
20 | 21 | 22 | 23 |
要访问二维数组中的元素,需要提供两个索引,一个表示行,一个表示列:
matrix[0][0] = 1; // 设置第一行第一列的值为 1
int value = matrix[1][2]; // 获取第二行第三列的值
多维数组
除了二维数组,JAVA还支持多维数组。
声明和初始化方式类似,只需要提供更多的索引即可。
int[][][] threeDimensionalArray = new int[2][3][4]; // 声明一个三维数组
五、数组的注意事项
-
在使用数组时数组的大小是固定的,一旦创建,就不能更改。要添加或删除元素,通常需要创建一个新数组。
-
数组的索引从 0 开始,访问越界的索引会导致运行时错误。
-
数组可以存储相同类型的元素,例如整数数组只能存储整数。
-
数组的长度可以使用 length 属性获取,但注意不要与方法混淆。
-
多维数组可以看作是数组的数组,需要提供多个索引来访问元素。
六、总结
数组是 Java 编程中的重要概念,可以用来存储和操作多个相同类型的数据。我们介绍了数组的声明、初始化、访问、遍历以及常见操作。此外,还介绍了多维数组的概念和使用方法。
大家学习数组结束后,会面临更高级的知识,要坚持学习,再接再厉。