我在想该怎么解释
A. float []f[] = new float[6][6];
解释:其实主要的迷惑点在前面的引用变量float []f[],这个表示的是一个二维数组,其实可以拆分来看,float []表示声明一维数组变量,f[]也表示一维数组,这样写理解为一维数组的嵌套就好了,在一维数组里面再声明一个一维数组,就得到一个二维数组了...难描述,但我就是这样理解的
B.float f[][] = new float[][];
解释:这里指明是静态声明二维数组,必须给指定数组的大小,应该为float f[][] = new float[1][1];
又或者你可以声明为动态声明二维数组,这样可以不知道数组的大小为float f[][] = new float[][];{{1.0f}{2.0f}},这样也可以
C.float [6][]f = new float[6][6];
解释:问题是出在前面的变量类型声明,即前面必须是数组类型,很明显“float [6][]f ”这个不属于一个数组类型,float [][]f这样才是数组类型
D. float [][]f = new float[6][];
解释:前面的变量类型解释同上,如果需要解释就是new float[6][]; 这个表示声明一个不规则的数组,可以单独为行继续声明
f[0] = new float[2]//为第一行分配2列
f[1] = new float[3]//为第二行分配3列
。。。。。
|