数组的简介

183 阅读1分钟

数组:同一种数据的集合

数组的初始化方式:

静态初始化:

格式1:数据类型 [] 数组名称 = new 数据类型[]{值1,值2,值3……};

格式2:数据类型 [] 数组名称 = {值1,值2,值3……};

    public static void main(String[] args) {
        int []arr = new int[]{1,2,3,4,5};
    }
}
public class Show {
    public static void main(String[] args) {
        int []arr = {1,2,3,4,5};
    }
}

建议使用格式1。

动态初始化:

格式:数据类型 [] 数组名称 = new 数据类型[元素个数];

public class Show {
    public static void main(String[] args) {
        int []arr = new int[3];
    }
}

两者的相同点:

1、初始化时就确定了数组长度

2、都在堆空间开辟了空间

两者的不同点:

1、静态初始化在一开始由值的个数确定数组长度。

2、动态初始化在一开始就确定了数组长度。

3、在遍历时静态初始化是得出已知的给它赋值的值,而动态初始化如果后续没有赋值,那么得到的是(数组[]中对应数字的乘积)个0。

数组分为一维数组(如上方的代码),二维数组,即在一维数组的[]后面再加一个[],也可以根据[]的个数来表明其为几维数组。

数组的赋值:

public class Show {
    public static void main(String[] args) {
        int[][] arr = new int[2][3];
        arr[0][0] = 2;
        arr[1][2] = 1;
        for (int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length;j++){
                System.out.println(arr[i][j]);
            }
        }
    }
}

数组的赋值要从下标0开始,若没有赋值,则根据数据类型有默认初始化值。

这里int的默认初始化值是0。

赋值的每个[]中的值只能比初始化时[]的值小,不然会报错,提示out of bounds

数组的遍历:

方式一:

一维数组的遍历:

public class Show {
    public static void main(String[] args) {
        int []arr = new int[]{1,2,35,5};
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

二维数组的遍历:

public class Show {
    public static void main(String[] args) {
        int [][]arr = new int[][]{{1, 2, 35, 5},{34,4}};
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0;j < arr[i].length;j++){
                System.out.println(arr[i][j]);
            }
        }
    }
}

类比一维和二维数组的遍历就可得出多维数组的遍历。

方式二: for-each

结构:for(数据类型 变量名: 数组名){ 循环体; }

一维数组的遍历:

public class Show {
    public static void main(String[] args) {
        int[] arr = new int[]{1,2,3,4};
         for(int o:arr){
             System.out.println(o);
         }
    }
}

二维数组的遍历:

public class Show {
    public static void main(String[] args) {
        int[][] arr = new int[][]{{1, 2, 3, 4},{2,4}};
         for(int[] arr1:arr){
             for(int arr2:arr1)
             System.out.println(arr2);
         }
    }
}

注意:

1、数组的数据类型前后要一致,如果是静态初始化,值也要与数据类型一致。

2、arr[i] ,i 是下标,从0开始。arr.length == i。也就是说下标的最大值为arr.length - 1。

3、使用foreach时数据类型与变量名的中间是用空格隔开。

如有错误,欢迎联系作者。