Java 数组的定义和遍历

1、一维数组

  • 数组是用来存储一组相同数据类型数据的数据结构
  • 数组的元素可以是简单数据类型的数据,也可以是引用数据类型的数据
  • 无论数组内容是简单类型还是引用类型,数组自己本身都是一种引用类型
  • 每个数组元素都有下标,下标从0开始

定义一维数组

int array1[ ];
int [ ] array2,array3;

在数组定义中,不能指定数组的长度,需要在数组的创建阶段来指定

符号“[]”说明声明的是一个数组对象。这两种声明方式没有区别,但是第二种可以同时声明多个数组

// 创建大小为10个整型的数组
int[] array = new int[10]; // 创建大小为5个整型的数组并初始化
int[] array = {1, 2, 3, 4, 5}; // 等号右边的中括号不能填大小,有大括号中的具体数值决定
int[] array = new int[]{1,2,3,4,5};

2、length实例变量

int[] arr = new int[10];

arr.length 表示数组长度

3、一维数组复制

// 从 src 数组 srcPos 位置开始拷贝 length 长度到 dest 数组 destPos 开始的位置

// 参数1:原数组

// 参数2:复制原数组的起始位置

// 参数3:目标数组

// 参数4:目标数组存放的起始位置

// 参数5:复制的长度

System.arraycopy(src, srcPos, dest, destPos, length);

int[] arr1 = new int[];
int[] arr2 = new int[]; // 该语句会把 arr1 也指向 arr2 数组,改变 arr2 数组的值,arr1 数组的值也会改变
//arr1 = arr2; // 该语句会把 arr2 数组中的值复制到 arr1 数组中,改变 arr2 中的值,不会影响 arr1 数组
//System.arraycopy(arr2, 0, arr1, 0, arr2.length);

4、二维数组

int[][] two = new int[5][6];

two.length表示数组的行数,two[i].length表示数组的列数。

5、不规则数组

int[][] two = new int[4][];            // 数组有4行

two[0] = new int[1];  // 第1行有1列

two[0] = new int[2];      // 第1行有2列

two[0] = new int[3];      // 第1行有3列

two[0] = new int[3];      // 第1行有4列

6、for-each循环:用来遍历数组

for (数据类型 变量x : 遍历对象) {

  应用x的语句

}

// for-each 访问一维数组
public class Array {
public static void main(String[] args) {
int sum = ;
int[] arr = {, , , , };
for (int i : arr) {
sum += i;
}
System.out.println(sum);
}
}

结果:15

// for-each 访问二维数组
public class Array {
public static void main(String[] args) {
int sum = ;
int[][] arr = {{, },{, }};
for (int i[] : arr) {
for (int j : i) {
sum += j;
}
}
System.out.println(sum);
}
}

结果:10

上一篇:【LeetCode】62. Unique Paths 解题报告(Python & C++)


下一篇:0513JS数组的定义、遍历、添加