2017-02-09 91 views
0

我正在瀏覽一個針對OCJP考試的應用程序。我發現了一個關於二維數組的問題。二維數組的Java有效聲明

問題:有效的二維數組聲明。

選項:

  1. int[][] array2D;
  2. int[2][2] array2D;
  3. int array2D[];
  4. int[] array2D[];
  5. int[][] array2D[];

我的選擇:int[][] array2D;int[] array2D[],但是當我提出我的回答它告訴我,int[] array2D[]是錯誤的,正確的是int[][] array2D[];

我覺得int[][] array2D[];是不正確的答案。

  1. 我說錯了嗎?
  2. int[] array2D[]是編程推薦的嗎?
+1

您的問題格式太差,請下次再付費。 – 2017-02-09 06:56:40

+2

1)你是對的。 2)[Java語言規範](https://docs.oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.2)不鼓勵'int [] array2D []'本身:*我們不建議在數組變量聲明中使用「混合符號」,其中括號對出現在類型和聲明符中;也不在方法聲明中,在正式參數列表的前後出現括號對。 – Andreas

+0

地獄5號選項是如何正確的? – Sikorski

回答

4

這個問題的答案似乎是兩個選項1和4

int[][] array2D 

是聲明一個2-d int數組的標準方法。

雖然int[] array2D[];它不是一個好的做法,它將工作,並將是一個有效的聲明。

+2

錯字? int [] array2D []也許? – Sikorski

+0

是... sry..will編輯 – Akshay

+0

*「不是一個好的做法」*在JLS中被稱爲*「我們不推薦」*。請參閱[我的評論](http:// stackoverflow。COM /問題/ 42130095/java的有效-聲明對的一兩維陣列#comment71427286_42130095)。 – Andreas