2017-02-09 60 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