做了一些多项选择,一个问题给出了以下数组定义,并询问哪些是有效语句:
int[] array1, array2[];
int[][] array3;
int[] array4[], array5[];
A. array2 = array3;
B. array2 = array4;
C. array1 = array2;
D. array4 = array1;
E. array5 = array3;
Run Code Online (Sandbox Code Playgroud)
正确的答案是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
Run Code Online (Sandbox Code Playgroud)
现在,您可以轻松评估这些:
A. array2 = array3; //compiles
B. array2 = array4; //compiles
C. array1 = array2; //doesn't compile
D. array4 = array1; //doesn't compile
E. array5 = array3; //compiles
Run Code Online (Sandbox Code Playgroud)
此外,在Java中,没有二维数组.你有阵列数组.