数组
# Java 中的数组
# 静态数组
静态数组一旦证明就不能改变其长度。
”公司里面人不够用了,但是没有更多的工位了。“
# 声明方式
“创建一个数组”,实际上是指创建一个指向数组的变量。
- 初始化
- 分配
// 1.初始化
int[] array_1 = {1, 2, 3, 4, 5};
// 2.分配
char[] array_2 = new char[3];
array_2[0] = 'a';
array_2[1] = 'b';
array_2[2] = 'c';
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
使用 arrayName[] = {...}
这样 C/C++ 风格也可行的,但不是 Java 中的首选方式:
// 首选
int[] array_3 = {1, 2, 3, 4, 5};
// C/C++ 风格
int array_4[] = {1, 2, 3, 4, 5};
1
2
3
4
5
2
3
4
5
# 访问元素
array_1[0] // 第一个元素
array_1[1] // 第二个元素
1
2
2
数组长度:
- 用
length
这个变量来检查数组长度 - 格式:
arrayName.length
- 数组索引从
0
到arrayName.legth-1
for-loop:
for (int i = 0; i < array_1.length; i++) {
System.out.println(array_1[i]);
}
1
2
3
2
3
for-each 可在不使用索引的情况下遍历数组:
for (char k : array_2) {
System.out.println(k);
}
1
2
3
2
3
# 数组作为函数的参数
注意形参的数据类型!
public static void printArray(int[] array) {
for (int i : array) {
System.out.println(i);
}
1
2
3
4
2
3
4
# 数组作为函数的返回值
public static void main(String[] args) {
int[] array_1 = {1, 2, 3, 4, 5};
int[] array_2 = reverse(array_1);
for (int j :
array_2) {
System.out.print(j + " "); // 5 4 3 2 1
}
}
/**
* 将一个int类型数组的元素逆序排放。
*
* @param list 一个int类型数组
* @return result 逆序后的数组
*/
public static int[] reverse(int[] list) {
int[] result = new int[list.length];
for (int i = 0, j = result.length - 1; i < list.length; i++, j--) {
result[j] = list[i];
}
return result;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 多维数组
多维数组可以看作是数组中的数组,以二维数组为例,其每一个元素都是一个一维数组。
二维数组:
int[][] twoDimArray_1 = new int[3][4];
int[][] twoDimArray_2 = {{0,1,2},{3,4,5},{6,7,8}};
1
2
3
2
3
# 数组操作
Java SE 在 Java.util.Arrays
类中提供了一些方法来对数组进行一些常规的操作(如,拷贝数组、存储数组、搜索数组中具体的值等等)
编辑 (opens new window)
上次更新: 2022/09/26, 16:55:15