一维数组还好说,二维数组的初始化有点晕,请举2个例子说明下二维数组初始化的方法,求详解。谢谢

解决方案 »

  1.   

    String[][] str = new String[][]{{"1", "2"}, {"2"}};
      

  2.   

    //直接定义的时候赋值
    int[][] a = {{1},{2,3},{4,5,6}};
    //动态赋值
    int[][] a = new int[3][]; //线给第一维数组申请内存
    for (int i=0, j=0; i<a.length; i++) {
        a[i] = new int[i+1]; //给第二维数组申请内存
        for (int k=0; k<a[i].length; k++) {
            a[i][k] = 1+(j++);
        }
    }
      

  3.   


    public class Test{ public static void main(String[] args) {

    int[][] arrInt1 = {{1,2,3},{1,2,3}};
    int[][] arrInt2 = {{1,2,3,4},{1,2,3}}; int[][] arrInt3 = new int[2][4];
    arrInt3[0][0]=1;
    arrInt3[0][1]=2;
    arrInt3[0][2]=3;
    arrInt3[0][3]=4;
    arrInt3[1][0]=1;
    arrInt3[2][1]=2;
    arrInt3[3][2]=3;
    arrInt3[4][3]=4;

    int [][] arrInt4 = new int[2][];
    arrInt3[0][0]=1;
    arrInt3[0][1]=2;
    arrInt3[0][2]=3;
    arrInt3[0][3]=4;
    arrInt3[1][0]=1;
    arrInt3[2][1]=2;
    arrInt3[3][2]=3;
    arrInt3[4][3]=4;

    String[][] str = new String[][]{{"1", "2"}, {"2"}};
    // str = {{"1", "2"}, {"2"}}; // 重新复制会报错
    String[][] sr = {{"1", "2"}, {"2"}};
    sr = new String[][]{{"1", "2"}, {"2"}};; //重新复制不会报错
    }
    }
      

  4.   

    java数组X[] x = new X[n](千万不要写成X x[],这样子就无法理解下面的话了)代表了一个连续的内存,长度为n,下标0~(n-1)。每一个元素都是X类型,或者其子类型。X可以是任何类型,
    X=int, X[]=int[], 每个元素只能是int(int没有子类型)
    X=String, X[]=String[], 每个元素只能是String(String没有子类型)
    X=Object, X[]=Object[], 每个元素可以是任何类型(JDK1.5以后,1.5以前,不能是int之类原生类型)同样,这个X也能继续推广到数组。数组本身也是一种类型
    X=int[],X[]=int[][]
    第一维长度n,参考上面黑体字,这是一个长度为n的数组,每个元素的类型都是int[],或者其子类型(这里主要是null)。也就是说,只要满足第一维元素是int[](或其子类型)就可以了,并不要求每一个元素(int[])的长度一致。
    因此,int[][] a = {{1},{2,3},{4,5,6},null};就是合法的。
      

  5.   

    如下图表格结构:
    <table border="1"><tr><td>&nbsp;&nbsp;&nbsp;</td><td>0</td><td>1</td><td>2</td></tr><tr><td>0</td><td>A</td><td>B</td><td>C</td></tr><tr><td>1</td><td>D</td><td>E</td><td>F</td></tr><tr><td>2</td><td>G</td><td>H</td><td>I</td></tr></table>
    初始化方式如下:
    String[][] array = new String[][] { { "A", "B", "C" },
    { "D", "E", "F" }, { "G", "H", "I" } };
    这样可以对号入座了吧?
      

  6.   

    int[][] a = new int[3][3]然后再怎么初始化呢?(除了int[][] a ={{1,2,3}{4,5,6},{7,8,9}})
      

  7.   


    a[0][0] = 1, a[0][1] = 2, a[0][2] = 3,
    a[1][0] = 4, a[1][1] = 5, a[1][2] = 6,
    a[2][0] = 7, a[2][1] = 8, a[2][2] = 9 
      

  8.   

    二维数组,就是数组的数组么,就是数组的每一项,还是一个数组,和string数组一起来理解吧,string数据每一项都是string,二维数组就是每一项就是一个数组而已,而且也仅此而已
      

  9.   

    理论上来说,还可以这样:
    iArr[0] = new int[] {1, 2, 3};
    iArr[1] = new int[] {4, 5, 6};
    iArr[2] = new int[] {7, 8, 9};