Java—初学—二维数组

************************************************

写方法注意两个明确

1)返回值的类型:

2)参数列表:带数据类型

************************************************

二维数组

三种格式:

1. 数据类型 [ ][ ]  数组名 = new 数组类型 [m] [n]

    eg:  int[][] arr =  new int [3][2]

2. 数据类型 [ ][ ]  数组名 = new 数组类型 [m] [ ]

    数组类型 [0] = new 数组类型 [x]

                     ......

    数组类型 [m-2] = new 数组类型 [y]

    数组类型 [m-1] = new 数组类型 [z]

     eg:  int[][] arr =  new int [3][ ]

            int[0] = new int [2]     # 长度是可变的

            int[1] = new int [3]

            int[2] = new int [1]

   

3.  数组类型[][]  数组名 = {{元素1,元素2},{元素1,元素2,元素3},{元素1}} 

       eg:    int[][]  arr = {{1,2,3},{1,3},{6,7,8,9}}

                int[][]  arr = {{1,2,3},{1,2,3},{6,8,9}}


-----------------------------------------------------------------------------------------------------

注意:

A. 第一维的维数必须给出,否则不知道怎么分配内存

B.  二维数组的数组名后跟一个索引号:代表一个一维数组;

     二维数组的数组名后跟两个索引号:代表一个二维数组的元素

C.  在 arr[][] 中 

      arr储存的是arr[i]的开始地址 

      arr[i]储存的是arr[i][j]所在的一维数组的开始地址

      arr[i][j]才是元素值本身

====================================================

Java—初学—二维数组

Java—初学—二维数组

===============================================================

内存分配

Java—初学—二维数组

================================================================

二维数组的列是可变的

Java—初学—二维数组

=============

1. 动态地为每一个一维数组分配空间之前,

Java—初学—二维数组

2. 动态地为每一个一维数组分配空间后,

Java—初学—二维数组

=================================================

二维数组的数组名后跟一个索引号:代表一个一维数组

二维数组的数组名后跟两个索引号:代表一个二维数组的元素

============================================

Java—初学—二维数组

**************************************

在 arr[][] 中 

arr储存的是arr[i]的开始地址 

arr[i]储存的是arr[i][j]所在的一维数组的开始地址

arr[i][j]才是元素值本身

****************************************

Java—初学—二维数组

=============================================================

Java—初学—二维数组

========================================================

Java—初学—二维数组

Java—初学—二维数组


===============================