Java二维数组如何使用?
在JAVA基础里面,二维数组如何定义呢,有如何使用呢,有什么好处呢,比如:int[这里填写的是什么意思呢][这里填写的是什么意思呢]a=newint[这里填写的是什么意思...
在JAVA基础里面,二维数组如何定义呢,有如何使用呢,有什么好处呢,比如: int[这里填写的是什么意思呢][这里填写的是什么意思呢] a = new int[这里填写的是什么意思呢][这里填写的是什么意思呢];那位大哥能帮忙解释下, 举几个例子,谢谢,马上采纳!!!!!!
展开
6个回答
2013-08-09
展开全部
那是行和列的意思,例如: 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。
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[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
{"小雨","小风","小平","小雷"},
{"小单"}
}
看上述例子。对于不同的行,其相应的列数是不同的。
二维数组元素的输入输出
二维数组元元素的访问及输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即双重循环来输出二维数组中的每一个元素。下面,我们来展示一个例子,把上面学过的知识来一块使用。这里使用列数不相等的二维数组:
例子是输出二维数组中的每一行的数字。
二维数组的声明及内存分配
第一种,先声明再分配内存的方式
数组声明: 数据类型 数组名[][];
内存分配: 数组名 = 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[][]={
{"小王","小李","小张"},
{"小红","小明","小花"},
{"小雨","小风","小平","小雷"},
{"小单"}
}
看上述例子。对于不同的行,其相应的列数是不同的。
二维数组元素的输入输出
二维数组元元素的访问及输出同一维数组一样,只是多了一个下标而已。在循环输出时,需要里面再内嵌一个循环,即双重循环来输出二维数组中的每一个元素。下面,我们来展示一个例子,把上面学过的知识来一块使用。这里使用列数不相等的二维数组:
例子是输出二维数组中的每一行的数字。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-09
展开全部
二维数组: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列
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列
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-09
展开全部
分别表示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
String[][] strArray = new String[]x[y];//定义数组xy表示数组的大小,最多能放多少个元素
strArray[0][0] = "1";//数组初始化
二维数组和一维数组没有太大的区别,你可以把它理解为数组的数组
上例忠你就可以把它理解为商族x=String[x] 他中间的每个元素都是数组y=String[y];
这样就好理解strArray[0][0]="1" ,设置数组x的第一个元素(数组y),的第一个元素为1
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询