概念:

    • 理解二维数组,首先要先理解一维数组是什么。一维数组是个容器,存储相同数据类型的容器(这里不再做一位数组的具体介绍)。二维数组就是用来存储一维数组的数组,一维数组的存储数据类型是基本数据类型和引用数据类型,二维数组的存储数据类型是引用数据类型(一维数组是引用数据类型)。也就是:
    • 二维数组是存储一维数组的数组,二维数组里面的元素都是数组,二维数组来存储一维数组。

    image.png
    二维数组初始化:

    1. //二维数组不是规则的矩阵
    2. int [] intA[] ={{1,2},{2,3,4},{3,4,5,6}};
    3. System.out.println(intA);
    4. //声明一一个二维数组,用于存储3个一维数组,每一个一维数据存多少个数组,不知道 ,null
    5. int [][]intB=new int[3][];
    6. intB[0]=new int[3]; //3
    7. intB[1]=new int[]{1,2,3,4}; //3
    8. intB[2]=new int[2]; //2
    9. System.out.println(intB);
    10. //声明一个二维数组,同时创建出一维数组,每个一维数组的长度均相同
    11. //存储三个一维数组,每个一维数组的长度为4
    12. int []intC[]=new int[3][4];
    13. System.out.println(intC);

    二维数组的遍历:

    1. //二维数组
    2. int [] intA[] ={{1,2},{2,3,4},{3,4,5,6}};
    3. //(1)普通for循环
    4. for(int i=0;i<intA.length;i++){ //0,1,2
    5. for(int j=0;j<intA[i].length;j++){ //每一个一维数组的长度
    6. System.out.print(intA[i][j]+"\t");
    7. }
    8. System.out.println();
    9. }
    10. //(2)加强for循环
    11. System.out.println("\n=========================");
    12. for(int[] arr:intA){ //int[]二维数组中元素的类型, arr迭代变量, intA二维组的名称
    13. for(int i:arr){ //int,一维数组中元素的类型,i,迭代变量,arr,一维数组的名称
    14. System.out.print(i+"\t");
    15. }
    16. System.out.println();
    17. }
    18. //(3)普通与加强for循环的混搭
    19. System.out.println("\n-------------------------");
    20. for(int [] arr:intA){//加强for
    21. for(int i=0;i<arr.length;i++){
    22. System.out.print(arr[i]+"\t");
    23. }
    24. System.out.println();
    25. }
    26. System.out.println("\n--------------------------");
    27. for(int i=0;i<intA.length;i++){
    28. for(int j:intA[i]){//加强for
    29. System.out.print(j+"\t");
    30. }
    31. System.out.println();