请教请教~int[][] x = new int[3][5]; 所定义的二维数组对象含有15个int型元素。
这句话对吗?

解决方案 »

  1.   

    应该是,Java中n维数组是有n-1维数组构成的,这个就是由3个一维的组成的,没有初始化,默认的是0不知道有更准确的答案吗,谢谢共享啊
      

  2.   


    仅仅new二维数组,会初始化么?
      

  3.   

    据说在某个帖子里面的答案是
    int[3][5]初始化了3个int[],可以是这3个int[]恰巧长度都是5
      

  4.   

    public class TestArray {
    public static void main(String[] args) {
    int[][] x = new int[3][5];
    for (int i = 0; i < x.length; i++) {
    for (int y = 0; y < x[i].length; y++) {
    System.out.println(i + "*" + y);
    }
    }
    }
    }
    一个一个数 是15个。。
      

  5.   

    恩,是初始化了15个int元素,
      

  6.   

    这个我记得前段时间有人拿出来问过,给出的的答案也是说 不对这个不对我是这么理解的二维数组对象含有15个int型元素
    这话其实我觉得有点歧义,所以换个问的方式就成了
    请教请教~int[][] x = new int[3][5]; 所定义的X引用指向的对象含有15个int型元素。
    这里X引用只是有4个数组的实例,并不是int元素,所以答案不对
      

  7.   

    当然不对![3]是第一维有3个子数组,[5]是第二维有5个子数组,这里并不知道数组的元素。看个例子你就明白了:int a[][]=new int[3][];//创建第一维,确定有3个子数组
         :a[0]=new int[4];//第一个子数组有4个元素
      

  8.   


    x相当于是指针?x引用4个数组实例可以说是没错,不过真正分配空间的是new int[3][5]; 
    到底含有多少个数组元素应该由new int[3][5]; 分配了多少数组空间来定。
    我觉得应该是正确的,因为int是值类型的,分配了15个空间里面直接初始化0的int类型值。
    如果是new Integer[3][5];则是错的。
      

  9.   

    我觉得,这个是文字游戏。
    他指的,所定义的对象,应该是指等号左边的,也就是引用,那么它包含的只是那个数组的地址。
    而那个数组对象,确实是15个int型元素。而且我觉得这种题目没有必要深究,你心里知道是怎么回事,能解释原理就可以了。
    这种搞文字游戏的题目没有什么意义,回答不是的,可能理解成了4*6的元素,那你说他是对了?
    回答是的,从他理解的概念完全是对的。所以这种题目觉得就是适合学校考试的,不是面试的。举个例子,初中生某选择题,有4个选择,其中2个让我犹豫了一下
    1,任意两点确定一条直线
    2,从直线外某一点到该直线的垂线段是点到直线的距离一眼一看我就觉得1是肯定对的,那么我就想2错在哪里,发觉有一点问题,就是2如果简化下就变成了“垂线段=距离”,而真正的概念应该是“从直线外某一点到该直线的垂线段的长度是点到直线的距离”个人觉得这种题目很没意义。对的未必不懂,懂的未必做对。
      

  10.   

    先明确一点,这个二维数组的length是3,也就是说它是含有3个“元素”,显然每个“元素”又是一个一维数组,而这一维数组中每个又含有5个整形数据。 所以直接描述二维数组对象有15个int型元素是不对的! 
      

  11.   

    int[][] x = new int[3][5]; 所定义的二维数组对象含有3个int型一维数组,每个一维数组含有5个int元素。
    不是该数组直接含有15个int元素
      

  12.   

    3*5 啊  就是三行五列啦  每个都有一个存了一个int
      

  13.   

    参考答案是 不对的,所站的立场是从对象引用上来说的。
    因为这个是初始化,初始化(所谓的15个INT对象因为都是0)指向的引用空间都是同一个(0),所以其实只有1个。参考答案是 对的。 也没错。