在JAVA基础里面,二维数组如何定义呢,有如何使用呢,有什么好处呢,比如: int[这里填写的是什么意思呢][这里填写的是什么意思呢] a = new int[这里填写的是什么意思呢][这里填写的是什么意思呢];那位大哥能帮忙解释下, 举几个例子,谢谢,马上采纳!!!!!!
那是行和列的意思,例如: int[][] a = new int[3][5]; //也就是说建立一个3行5列的二维数组 你大概没弄明白java数组定义,多看看书,java中实际上没有多维数组的概念。只有一维数组。多维数组实际上是一维数组的数组。这和c++中的多维数组概念是不同的。 举个例子:int[][] int1=new int[3][2];int1[i]引用第i个字数组,也就是二维表中的第i行。它本身也是一个数组,int1[i][i]引用这个数组的第j项。对于 int[][] int1=new int[3][]; new语句执行后,int1被在栈中分配了空间,引用一个三维数组;三维 数组也被分配了空间(在堆中),三位数组的元素是指向int数组的引用; 而int数组没有分配空间,所以三维数组中的元素的值都是null。
二维数组,也可以理解为用一维数组保存的元素为一维数组。对于三维数组,等等,都可以这样划分。不过我们在编程中使用三维以上的数组比较少。因为那样使用起来非常不方便。下面我们来学习二维数组的声明。其声明同一位数组一样,可以先声明再分配内存,也可以声明时分配内存。二维数组的声明及内存分配第一种,先声明再分配内存的方式数组声明: 数据类型 数组名[][];内存分配: 数组名 = new 数据类型[行的个数][列的个数];举例: 假如我们需要统计一个象棋上放的是黑棋还是白棋。这时,我们可以建立一个坐标,即以象棋盘的两边建立坐标轴。这时,我们可以这样定义这个二维数组:声明数组: int Chess[][];内存分配 Chess= new int[64][64];第二种,即声明时即分配内存的方式。使用格式是: 数据类型 数组名[][] =new 数据类型 [行的个数][列的个数];使用上个步骤中的例子,我们可以将数组的声明和分配内存写成以下方式:声明即分配内存:int Chess[][] = new int[64][64];二维数组的赋值二维数组的赋值,同一维数组类似。只是在{}中的每个元素又是每个一维数组。如下格式:数据类型 数据名[][]={ {值1,值2,值3,值4 }, //第一行数据 {值5,值6,值7,值8}, //第二行数据 ..., }二维数组中,可以有列数不相等的数组。即每一行的列数不同时。我们需要对每一行进行赋值。对于这两种二维数组。我们分别来进行分别举例进行赋值。第一种是:列数相同的数组其赋值格式如下:String ClassRoom[][]={ {"小王","小李","小张"}, {"小红","小明","小花"},}即第一行的人数和第二行的人数相同。第二种:即列数不相等的数组的赋值格式如下:String ClassRoom[][]={ {"小王","小李","小张"}, {"小红","小明","小花"}, {"小雨","小风","小平","小雷"}, {"小单"}}看上述例子。对于不同的行,其相应的列数是不同的。二维数组元素的输入输出二维数组元元素的访问及输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即双重循环来输出二维数组中的每一个元素。下面,我们来展示一个例子,把上面学过的知识来一块使用。这里使用列数不相等的二维数组:例子是输出二维数组中的每一行的数字。
二维数组:int num[][]=new int[3][];这里定义的是3行的二维数组,列数可以逐个定义,也就是每行的列数可以不相同。但后面定义的列数的时候要用NEW来定义。例:int num[][]=new int[3][]; 定义一个为3行的二维数组。int num[0]=new int[3]; 定义第一行为3列int num[1]=new int[2]; 定义第二行为2列int num[2]=new int[3]; 定义第三行为3列
分别表示1维下标,2维下标N维数组int []....(n个元素)...[] a=new int[1维数组元素个数][2维数组元素个数].......[n维数组元素个数] 下标就是索引的意思 short[][] numfour=new short[5][8]; //定义一个short类型的数组同时为它分配1维数目为5,2维数目为8的空间大小
一般使用是这么做String[][] strArray = new String[]x[y];//定义数组xy表示数组的大小,最多能放多少个元素strArray[0][0] = "1";//数组初始化二维数组和一维数组没有太大的区别,你可以把它理解为数组的数组上例忠你就可以把它理解为商族x=String[x] 他中间的每个元素都是数组y=String[y];这样就好理解strArray[0][0]="1" ,设置数组x的第一个元素(数组y),的第一个元素为1