A. int a[] = new int[2][3]; // 1次元配列の変数で a[] を宣言しているが、2次元配列の new int[3][]; インスタンスを生成して代入しようとしている。変数とインスタンス間で次元数を一致させる必要がある。
B. int[] b = new int[2.3]; // 誤り。配列のサイズを指定するには整数を使用する必要があり、小数点は使用できない。
C. int c[] = new int[2 * 3]; // 誤り。これは6要素の1次元配列を宣言している。
D. int x = 2, y = 3;
int[] d = new int[x * y]; // 誤り。こちらもCと同様に、1次元配列を宣言している。
E. int[][] e = new int[2][]; // 正しい。最初の次元のサイズが2である可変長の2次元配列を宣言している。2行目以降の列の数は別途指定可能。
F. int f[][] = new int[][3]; // 誤り。Javaでは最初の次元のサイズを省略することはできず、必ず指定する必要がある。
5章4
![](https://media.dev.to/cdn-cgi/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1273483%2Fdcb33159-66c6-4cdf-ac11-17b6fa6d34fe.jpeg)