2017-02-09 4 views
0

私はOCJP試験のために提案された1つのアプリケーションを経由していました。私は2次元配列について1つの質問を見つけました。2次元配列のJavaの有効な宣言

質問: 2次元配列の有効な宣言。

オプション:

  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

あなたの質問はあまりフォーマットされていなかったので、次回は努力してください。 –

+2

1)正しいですか。 2) 'int [] array2D []'は[Java言語仕様](https://docs.oracle.com/javase/specs/jls/se8/html/jls-10.html#jls-10.2)で推奨されていません。それ自身:型変数と宣言子の両方にブラケットペアが現れる配列変数宣言では、 "混合表記"はお勧めしません。ブラケットのペアが仮パラメーターのリストの前後に表示されるメソッド宣言でもありません。* – Andreas

+0

5番目のオプションが正しい方法は? – Sikorski

答えて

4

これに対する答えは、両方のオプション1と4

int[][] array2D 

であるように思わは、2次元のint配列を宣言するための標準的な方法です。

int[] array2D[];でも有効ですが、有効な宣言になります。

+2

の誤字を+1できますか? int [] array2D []おそらく? – Sikorski

+0

yes ... sry..will edit – Akshay

+0

* JLSでは*「推奨しない」*と呼ばれています。参照[私のコメント](http:// stackoverflow。com/questions/42130095/java-valid-2次元配列宣言#comment71427286_42130095)。 – Andreas