黑马程序员技术交流社区
标题:
一个关于二维数组的问题
[打印本页]
作者:
张俊飞
时间:
2013-12-15 19:03
标题:
一个关于二维数组的问题
我定义了一个二维的数组,例如int[][] a = new int[4][6],然后我输出了a.length(),结果是4,为什么不是10呢?
作者:
Faner
时间:
2013-12-15 19:07
而为数组的长度其实就是指有几个一位数组!!
作者:
Faner
时间:
2013-12-15 19:09
10 是指这个而为数组有10个元素组成的
作者:
豆晨阳
时间:
2013-12-15 20:16
public class DemoA {
public static void main(String[] args)
{
int num = 0;
int[][] arr = {{1,3,6,7},{4,7,0},{7,3,8},{3,7,0,4}};
System.out.println(arr.length);//输出的是有几个一维数组也就是4
for(int i=0;i<arr.length;i++)
{
for(int j=0;j<arr[i].length;j++)
{
num++;
}
}
System.out.println("num="+num);//输出的是数组中总的元素数
}
}
作者:
java--周群
时间:
2013-12-15 20:35
你这个定义的是一个二维数组,int[][] a = new int[4][6],比如a相当于一个大盒子,右边4就表示在大盒子中间有4个小空间,6代表4个小空间里面又划分了6个小空间,其实就相当于这样,int [][] a = {{a,b,c,d,e,f},{g,h,i,j,k,l},{m,n,o,p,q,r},{s,t,u,v,w,x}},,打印a数组的长度就是打印二维数组中一维数组的个数,即大盒子刚开始划分的4片空间,当然是4.
新手吧 慢慢来一切都会好起来的。
作者:
绕世界流浪丶
时间:
2013-12-15 20:52
int[][] a = new int[4][6]
复制代码
你这个数组表示 有4个一维数组 每个一维数组的长度是6
a.length()遍历的是有几个一维数组
所以输出的为4
作者:
75100313
时间:
2013-12-15 21:57
二维数组可以看成是几个一维数组
作者:
雨的印记yp
时间:
2013-12-16 01:12
a的意思是定义了4个一维数组,每个一维数组长度为6. a.length表示a有几个一维数组,所以是4个。 而a[0].length,a[1].length,a[2].length,a[3].length,表示各个一维数组的长度,所以都是6.
作者:
Knife
时间:
2013-12-16 01:32
本帖最后由 Knife 于 2013-12-16 02:06 编辑
问题:例如int[][] a = new int[4][6],然后我输出了a.length(),结果是4,为什么不是10呢?
a.length()是问你数组有几行,答案肯定是4啊。a
.length是每行有多少个数据.
如果想求数组有多少个元素,可以用循环.
我也是新手,回答的不好请不要介意。大家一起学习!
作者:
恨死我了
时间:
2013-12-16 09:52
a.length()只是遍历一维数组的元素个数,所以个数为4;a[i].length()可以遍历一维数组中某个元素的个数
作者:
翼展哈哈
时间:
2013-12-16 10:20
楼主您好,首先提供一段代码:
public class Test {
public static void main(String[] args) {
int[][] a = new int[4][6];
System.out.println(a);//打印结果是[[I@138ba593
System.out.println(a[0]);//打印结果是[I@35235feb
System.out.println(a.length);//打印结果是4
System.out.println(a[0].length);//打印结果是6
}
}
复制代码
由代码运行结果可知,a是二维数组引用,a[0]、a[1]、a[2]、a[3]都是一维数组引用,a.length的结果是4,这说明二维数组引用a指向的是4(二维数组的行数)个一维数组引用a[0]、a[1]、a[2]、a[3];而a[0].length的结果是6,这说明四个一维数组引用分别指向指向6个元素。这是二维数组的引用指向问题。
希望可以帮到楼主。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2