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[5];
int[] arr2 = new int[5];

// 该语句会把 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 = 0;
        int[] arr = {1, 2, 3, 4, 5};
        for (int i : arr) {
            sum += i;
        }
        System.out.println(sum);
    }
}

结果:15

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

结果:10

原文地址:https://www.cnblogs.com/lialong1st/p/7805268.html