一维数组

数组:数组是一种数据结构,可以存放多个数据

数组定义

声明并初始化数组:

1
2
3
4
5
6
7
// 1 知道数据
int[] arr = {10,20,30};
int arr[] = {10,20,30};
int[] arr = new int[]{10,20,30};

// 2 不知道具体数据
int[] arr = new int[5]; // 表示数组的长度为5,但是没有存放具体的数据

整数类型数组默认值为0
浮点型数组默认值为0.0
引用类型的数组默认值为null

数组的访问

  • 通过下标访问数组元素:数组名[下标值]
  • 数组下标从0开始,一次递增
  • 注意:下标值不要超出范围,不然报数组越界异常

数组的修改

数组名[下标值] = 新的值

数组的遍历

1
2
3
for(int i = 0;i < arr.length;i++){

}
1
2
3
4
5
6
7
8
9
10
11
// 数组遍历的另外一种方式
// 没循环一次,就换将数组中对应的一个元素放入到循环变量i中
int[] score = {55,65,98};
for (int i : score) {
System.out.println(i);
}

String[] names = {"小花","小黑","效率"};
for (String str : names) {
System.out.println(str);
}

方法的参数为数组

1
2
3
4
// 例如
public void f(int[] arr){

}

二维数组

二维数组:数组里面存放数组

定义

1
2
3
4
5
6
7
8
9
int[][] data = {{1,2},{3,4}}; // 二维数组:两行两列

int[][] data2 = {{1,2},
{3,4},
{5,6}}; // 二维数组:三行两列

int[][] data3 = new int[3][4]; // 定义一个三行四列的二维数组,但里面只有默认值

int[][] data4 = new int[5][]; // 当前这个二维数组是5行,列数不定

访问修改

1
2
3
4
5
// 2 访问二维数组的元素
System.out.println(data[0][0]);

// 3 修改
data[1][1] = 50;

遍历

1
2
3
4
5
6
7
// 遍历二维数组
for (int i = 0; i < data.length; i++) {
// data[i]:获取就是每个子数组的地址值
for (int j = 0; j < data[i].length; j++) {
System.out.println(data[i][j]);
}
}