正在做一些多项选择,其中一个问题给出了以下数组定义并询问哪些是有效语句:
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 不是。
最佳答案
每行拆分每个变量的定义,然后您将了解每个操作如何编译(或不编译):
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 中,没有二维数组。你有数组数组。
关于Java 数组定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27709924/