数组的初始化方式总共有三种:静态初始化、动态初始化、默认初始化。

静态初始化

除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。

  1. int[][] arr = {{1,2},{4,5,6},{4,5,6,7,8,9,9}};
  2. int[][] arr =new int[][] {{1,2},{4,5,6},{4,5,6,7,8,9,9}};

动态初始化

数组定义与为数组元素分配空间并赋值的操作分开进行。

  1. int[][] arr = new int[3][]; //本质上定义了一维数组长度为3,每个“格子”中放入的是一个数组
  2. arr[0] = new int[]{1,2};
  3. arr[1] = new int[]{3,4,5,6};
  4. arr[2] = new int[]{34,45,56};

默认初始化

数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。

  1. public class TestArray16{
  2. public static void main(String[] args){
  3. int[][] arr = new int[3][2];
  4. //本质上:定义一维数组,长度为3,每个数组“格子”中,有一个默认的长度为2的数组:
  5. arr[1] = new int[]{1,2,3,4};
  6. //数组遍历:
  7. for(int[] a:arr){
  8. for(int num:a){
  9. System.out.print(num+"\t");
  10. }
  11. System.out.println();
  12. }
  13. }
  14. }