java中的數組長度問題

來源:互聯網
上載者:User

        之前對java中的數組一直是一知半解,特別是數組中的長度問題。今天對這個問題也算是小有理解,算是對java數組的有了更進一步的瞭解吧。不說了,先來例子再說:

eg  code:

package com.test;public class Test {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubfinal   int   TABLE_SIZE   =   5;         final   int   TABLE_SIZE1   =   6;         final   int   TABLE_SIZE2   =   7;         int[][][]   table1   =   new   int[TABLE_SIZE][TABLE_SIZE1][TABLE_SIZE2];         int[][]   table2   =   new   int[TABLE_SIZE][TABLE_SIZE1];        int[]   table3   =   new   int[TABLE_SIZE];         int   a   =table1[4][0].length;         int   b   =table2[2].length;        int   c   =table3.length;                 System.out.println(a);         System.out.println(b);         System.out.println(c); }}

這個例子的輸出結果是什麼呢?

相信大家對一維數組沒有什麼問題,那我們就來看看二維數組數組到底是怎麼回事吧。

Java中多維陣列被看作數組的數組。初看這句話,確實有點不是很好理解(特別對於我這樣的菜鳥層級的啊)。用例子說話吧。就上例:

int b =table2[2].length;

就這個b它結果輸出的TABLE_SIZE1的值。我們知道table2是一個二維數組,而length方法取出的結果是數組中的長度而且一次取出數組中的長度,即:如果是一位元組的話,直接取出的話就是一位元組的長度,如:int c =table3.length;  此時c的結果就是一位元組table3的長度即TABLE_SIZE;如果 int
b =table2[2].length;換成 int b =table2.length;  此時b輸出的結果是二維數組中的第一維數組的長度即TABLE_SIZE(即跟c相等)
,而如果是int b =table2[2].length,注意此時length的長度是二維數組table2的第二維數組的長度即TABLE_SIZE1 ,而且只要table2[2].這個中括弧中的值x是在 0到其第一維數組的長度減1即(TABLE_SIZE-1),其table2[x].length的長度都是第二維數組的長度,以此類推,例子中a的值就是TABLE_SIZE2。

所以例子中的結果應該是:

7
6
5


 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.