java数组中 int []f[] int f[][] int [][]f 的区别?

如题所述

int []f[] = new int [行数][列数];
int f[][]new int [行数][列数;
int [][]f = new int [行数][列数];
在java中支持这多重格式的语法书写,另外两个是为了照顾从C过来的程序员的习惯,但是在 C#中就不支持这样的格式了.
尽量保持 int[][] int数据类型 [][] 表示二维数组
你看在 new 的时候要 int [][] 所以尽量格式一致,自己看的舒服
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-09
我是菜菜菜鸟,还没学到多维数组那儿。
所以,我写了个东东测试了下下,MS没发现有什么不同。
public class TestArrayf {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int f1[][]=new int[][]{{1,22,333},{4444,55555,666666},{7777777,88888888,999999999}};
int [][]f2=new int[][]{{1,22,333},{4444,55555,666666},{7777777,88888888,999999999}};
int []f3[]=new int[][]{{1,22,333},{4444,55555,666666},{7777777,88888888,999999999}};
for (int i=0;i<f1.length;i++)
{
for (int j=0;j<f1[i].length;j++)
{
System.out.println("f1["+i+"]["+j+"]: "+f1[i][j]);
}
}

System.out.println("");

for (int i=0;i<f2.length;i++)
{
for (int j=0;j<f2[i].length;j++)
{
System.out.println("f2["+i+"]["+j+"]: "+f2[i][j]);
}
}

System.out.println("");

for (int i=0;i<f3.length;i++)
{
for (int j=0;j<f3[i].length;j++)
{
System.out.println("f3["+i+"]["+j+"]: "+f3[i][j]);
}
}
}

}
结果:
f1[0][0]: 1
f1[0][1]: 22
f1[0][2]: 333
f1[1][0]: 4444
f1[1][1]: 55555
f1[1][2]: 666666
f1[2][0]: 7777777
f1[2][1]: 88888888
f1[2][2]: 999999999

f2[0][0]: 1
f2[0][1]: 22
f2[0][2]: 333
f2[1][0]: 4444
f2[1][1]: 55555
f2[1][2]: 666666
f2[2][0]: 7777777
f2[2][1]: 88888888
f2[2][2]: 999999999

f3[0][0]: 1
f3[0][1]: 22
f3[0][2]: 333
f3[1][0]: 4444
f3[1][1]: 55555
f3[1][2]: 666666
f3[2][0]: 7777777
f3[2][1]: 88888888
f3[2][2]: 999999999
第2个回答  2011-01-09
在java中没有区别,只是一个习惯的问题,java中默认的是int [][]f ,另外两个是为了照顾从C过来的程序员的习惯。本回答被提问者采纳
第3个回答  2011-01-14
应该没区别,都是声明数组的一个写法。建议楼主不要刻意的去深究它,它就是个写法而已。
希望对您有帮助!
第4个回答  2011-01-10
没有什么区别 int i[] 这样的形式之为了照顾C语言语法

JAVA推荐的是int[] i 这种写法,因为这样写更能表现数组的特性
相似回答
大家正在搜