Object[][] obj = new Object[10][10];for (int i1=0;i1<10;i1++) { for (int i2=0;i2<10;i2++) { obj[i1][i2] = new Object(); } }
JAVA的二维数组其实跟其他语言的差不多 比如声明方法: int [][] iArray; int []iArray[]; int iArray[][]; 都是可以的,但是要注意,数组不能直接指定列数或者行数,比如int iArray[3][4],正确的应该是在创建对象时,如:int iArray[][] = new int[3][4]. 也可以这样: int iArray[][] = { {1,2,3},{2,2,4}};再就是二维数组可以列数不同 比如: int iArray[][] = new int[2][]; iArray[0] = new int [3]; iArray[1] = new int [4];在就是记得,JAVA中数组都是对象。就这些了,请各位高人补充,小弟也跟着学习一下!
二维数组定义如下: 比如是int型: int [][] = new int[2][2]; 就是代表一个int型数组长度为2,其中每个单位中又有一个长度为2的数组,就好像如果一个大盒子里面有两个小盒子,小盒子里面又有两个小小盒子!顺便提一下类型可以自己定,比如自己建立的studnet类也可用来定义,当然也可以是Obiect,呵呵,不知明白否??最后要记得给分哦,呵呵
直接给你个例子吧,里面有数组的定义和声明。看例子会学得更快,也更明白的。import java.util.*;public class MultiDimArray { static Random rand = new Random(); static int pRand(int mod) { return Math.abs(rand.nextInt()) % mod + 1; } public static void main(String[] args) { int[][] a1 = { { 1, 2, 3, }, { 4, 5, 6, }, }; for(int i = 0; i < a1.length; i++) for(int j = 0; j < a1[i].length; j++) prt("a1[" + i + "][" + j + "] = " + a1[i][j]); // 3-D array with fixed length: int[][][] a2 = new int[2][2][4]; for(int i = 0; i < a2.length; i++) for(int j = 0; j < a2[i].length; j++) for(int k = 0; k < a2[i][j].length; k++) prt("a2[" + i + "][" + j + "][" + k + "] = " + a2[i][j][k]); // 3-D array with varied-length vectors: int[][][] a3 = new int[pRand(7)][][]; for(int i = 0; i < a3.length; i++) { a3[i] = new int[pRand(5)][]; for(int j = 0; j < a3[i].length; j++) a3[i][j] = new int[pRand(5)]; } for(int i = 0; i < a3.length; i++) for(int j = 0; j < a3[i].length; j++) for(int k = 0; k < a3[i][j].length; k++) prt("a3[" + i + "][" + j + "][" + k + "] = " + a3[i][j][k]); // Array of non-primitive objects: Integer[][] a4 = { { new Integer(1), new Integer(2)}, { new Integer(3), new Integer(4)}, { new Integer(5), new Integer(6)}, }; for(int i = 0; i < a4.length; i++) for(int j = 0; j < a4[i].length; j++) prt("a4[" + i + "][" + j + "] = " + a4[i][j]); Integer[][] a5; a5 = new Integer[3][]; for(int i = 0; i < a5.length; i++) { a5[i] = new Integer[3]; for(int j = 0; j < a5[i].length; j++) a5[i][j] = new Integer(i*j); } for(int i = 0; i < a5.length; i++) for(int j = 0; j < a5[i].length; j++) prt("a5[" + i + "][" + j + "] = " + a5[i][j]); } static void prt(String s) { System.out.println(s); } }====CSDN 小助手 V2.5 2005年11月05日发布==== CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件 界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx 下载:http://szlawbook.com/csdnv2
for (int i2=0;i2<10;i2++) {
obj[i1][i2] = new Object();
}
}
比如声明方法:
int [][] iArray;
int []iArray[];
int iArray[][];
都是可以的,但是要注意,数组不能直接指定列数或者行数,比如int iArray[3][4],正确的应该是在创建对象时,如:int iArray[][] = new int[3][4].
也可以这样:
int iArray[][] = { {1,2,3},{2,2,4}};再就是二维数组可以列数不同
比如:
int iArray[][] = new int[2][];
iArray[0] = new int [3];
iArray[1] = new int [4];在就是记得,JAVA中数组都是对象。就这些了,请各位高人补充,小弟也跟着学习一下!
比如是int型:
int [][] = new int[2][2];
就是代表一个int型数组长度为2,其中每个单位中又有一个长度为2的数组,就好像如果一个大盒子里面有两个小盒子,小盒子里面又有两个小小盒子!顺便提一下类型可以自己定,比如自己建立的studnet类也可用来定义,当然也可以是Obiect,呵呵,不知明白否??最后要记得给分哦,呵呵
static Random rand = new Random(); static int pRand(int mod) {
return Math.abs(rand.nextInt()) % mod + 1;
} public static void main(String[] args) {
int[][] a1 = {
{ 1, 2, 3, },
{ 4, 5, 6, },
};
for(int i = 0; i < a1.length; i++)
for(int j = 0; j < a1[i].length; j++)
prt("a1[" + i + "][" + j + "] = " + a1[i][j]); // 3-D array with fixed length:
int[][][] a2 = new int[2][2][4];
for(int i = 0; i < a2.length; i++)
for(int j = 0; j < a2[i].length; j++)
for(int k = 0; k < a2[i][j].length; k++)
prt("a2[" + i + "][" + j + "][" + k + "] = " + a2[i][j][k]); // 3-D array with varied-length vectors:
int[][][] a3 = new int[pRand(7)][][]; for(int i = 0; i < a3.length; i++) {
a3[i] = new int[pRand(5)][];
for(int j = 0; j < a3[i].length; j++)
a3[i][j] = new int[pRand(5)];
} for(int i = 0; i < a3.length; i++)
for(int j = 0; j < a3[i].length; j++)
for(int k = 0; k < a3[i][j].length; k++)
prt("a3[" + i + "][" + j + "][" + k + "] = " + a3[i][j][k]); // Array of non-primitive objects:
Integer[][] a4 = {
{ new Integer(1), new Integer(2)},
{ new Integer(3), new Integer(4)},
{ new Integer(5), new Integer(6)},
};
for(int i = 0; i < a4.length; i++)
for(int j = 0; j < a4[i].length; j++)
prt("a4[" + i + "][" + j + "] = " + a4[i][j]); Integer[][] a5;
a5 = new Integer[3][]; for(int i = 0; i < a5.length; i++) {
a5[i] = new Integer[3];
for(int j = 0; j < a5[i].length; j++)
a5[i][j] = new Integer(i*j);
} for(int i = 0; i < a5.length; i++)
for(int j = 0; j < a5[i].length; j++)
prt("a5[" + i + "][" + j + "] = " + a5[i][j]);
} static void prt(String s) {
System.out.println(s);
}
}====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
声明下标为整数0到3和0到9的二维数组student,数组值为双精度浮点型
double student[][]=new int[3][9]
其他的类推
我怎么觉得在声名下标为0-3和0-9的数组要写成Object[][] obj=new Object[4][10].
如果写成Object[][] obj=new Object[3][9]. obj[3]=1;就会报指针错误.我也是新手,只是
刚遇到过这个问题有点印象,还希望说错了帮我纠正下.
0-3和0-9的确是Object[][] obj=new Object[4][10]
Array vTest = new Array();
for(int i=0; i<10; i++)
{
vTest.add(i);
}// 第二步
String [] aTest = new String[vTest.size()];
vTest.toArray(aTest);// OK,End!