Java数组定义

时间:2014-12-30 17:36:00

标签: java arrays

做了一些多项选择,一个问题给出了以下数组定义,并询问哪些是有效的语句:

int[] array1, array2[];
int[][] array3;
int[] array4[], array5[];

A. array2 = array3;
B. array2 = array4;
C. array1 = array2;
D. array4 = array1;
E. array5 = array3;

正确的答案是A,B,E。为什么?我看到array3和array4是二维数组而array1,2,5不是。

2 个答案:

答案 0 :(得分:8)

每行拆分每个变量的定义,然后你会意识到每个操作是如何编译的:

int[] array1;
int[] array2[]; //which is int[][] array2
int[][] array3;
int[] array4[]; //which is int[][] array4
int[] array5[]; //which is int[][] array5

现在,您可以轻松评估这些:

A. array2 = array3; //compiles
B. array2 = array4; //compiles
C. array1 = array2; //doesn't compile
D. array4 = array1; //doesn't compile
E. array5 = array3; //compiles

此外,在Java中,没有二维数组。你有阵列数组。

答案 1 :(得分:0)

int[] array1, array2[];
int[][] array3;
int[] array4[], array5[];

array1是单维数组

array2现在是2维数组以及array4和数组5 array3也被声明为2d数组

数组1不等于列表中的任何其他数组

数组2可以= array3,array4或array5,反之亦然。