Java 多维数组

    技术2024-07-15  59

    我们知道在Java中,可以这样构建一个对象的数组:

    class A { int a; int b; }   public class Test { public static void main(String[] args) { A[] a = new A[2];//数组中每个元素为A System.out.println(a[0]);//输出null } } .codearea{ color:black; background-color:white; line-height:18px; border:1px solid #4f81bd; margin:0; width:auto !important; width:100%; overflow:auto; text-align:left; font-size:12px; font-family: "Courier New","Consolas","Fixedsys","BitStream Vera Sans Mono", courier,monospace,serif} .codearea pre{ color:black; line-height:18px; padding:0 0 0 12px !important; margin:0em; background-color:#fff !important} .linewrap pre{white-space:pre-wrap; white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; word-wrap:break-word; word-break:normal} .codearea pre.alt{ background-color:#f7f7ff !important} .codearea .lnum{color:#4f81bd;line-height:18px}

    可以看出,在数据类型后加方括号就可以构成一个由该数据类型构成的数组。如果要再加一个维度呢?显而易见只需要在上一个数组右侧再加一个方括号即可。以上例为例,1维数组可以写成A[],那么2维数组就可以写成A[][],可这两个方括号中究竟哪个是A[]中的方括号呢,如果按照上面的逻辑,肯定是左侧的那个。以A[2][1]举例来说,这是一个由1个A[2]构成的数组。

    真的是这样吗?进行如下测试:

    class A { int a; int b; }   public class Test { public static void main(String[] args) { A[][] a = new A[2][1]; System.out.println(a.length);//输出结果为2 } }

    .codearea{ color:black; background-color:white; line-height:18px; border:1px solid #4f81bd; margin:0; width:auto !important; width:100%; overflow:auto; text-align:left; font-size:12px; font-family: "Courier New","Consolas","Fixedsys","BitStream Vera Sans Mono", courier,monospace,serif} .codearea pre{ color:black; line-height:18px; padding:0 0 0 12px !important; margin:0em; background-color:#fff !important} .linewrap pre{white-space:pre-wrap; white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; word-wrap:break-word; word-break:normal} .codearea pre.alt{ background-color:#f7f7ff !important} .codearea .lnum{color:#4f81bd;line-height:18px}

    由上例可知,A[][]中,右侧的[]才是A[]中的方括号。即A[2][1]代表一个由2个A[1]构成的数组。基本数据类型(如int[][])经测试也是这样的。 .codearea{ color:black; background-color:white; line-height:18px; border:1px solid #4f81bd; margin:0; width:auto !important; width:100%; overflow:auto; text-align:left; font-size:12px; font-family: "Courier New","Consolas","Fixedsys","BitStream Vera Sans Mono", courier,monospace,serif} .codearea pre{ color:black; line-height:18px; padding:0 0 0 12px !important; margin:0em; background-color:#fff !important} .linewrap pre{white-space:pre-wrap; white-space:-moz-pre-wrap; white-space:-pre-wrap; white-space:-o-pre-wrap; word-wrap:break-word; word-break:normal} .codearea pre.alt{ background-color:#f7f7ff !important} .codearea .lnum{color:#4f81bd;line-height:18px}

    最新回复(0)