Java 多维数组声明
哪一个是有效的声明Java 多维数组声明,java,scjp,Java,Scjp,哪一个是有效的声明 int[]x=newint[0]{} newint[2] int[]x=newint[][{{1}}[0] int[]]x=newint[]{0}[0][0] intx=newint[2]{}[] 正确答案是3,我能理解为什么不是1,2或5,但我不理解3或4的意思 1) int[] x =new int[0]{}; 不能同时指定长度0和数组初始值设定项 2) new int[2]; 这不是一个声明。它将成为一个声明,如果它被分配到其他的东西,除了其他可能性 3) int[
int[]x=newint[0]{}代码>
newint[2]代码>
int[]x=newint[][{{1}}[0]代码>
int[]]x=newint[]{0}[0][0]代码>
intx=newint[2]{}[]代码>
1) int[] x =new int[0]{};
不能同时指定长度0
和数组初始值设定项
2) new int[2];
这不是一个声明。它将成为一个声明,如果它被分配到其他的东西,除了其他可能性
3) int[] x=new int[][]{{1}}[0];
这将声明并初始化1x1 2D数组,其中1
是它的唯一元素。然后,数组访问用于立即访问位置0处的“行”,这是唯一这样的“行”,它本身是一个1长度的1D数组,并分配给1D数组
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
这里有很多错误。创建了一个1长度的1D数组,但有两个数组访问。您只能提供一个,因为它是1D阵列
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
额外的[]
不起任何作用,语法无效。即使删除了它们,也不能将int
数组分配给标量int
。此外,不能同时指定长度和数组初始值设定项{}
2) new int[2];
不能同时指定长度0
和数组初始值设定项
2) new int[2];
这不是一个声明。它将成为一个声明,如果它被分配到其他的东西,除了其他可能性
3) int[] x=new int[][]{{1}}[0];
这将声明并初始化1x1 2D数组,其中1
是它的唯一元素。然后,数组访问用于立即访问位置0处的“行”,这是唯一这样的“行”,它本身是一个1长度的1D数组,并分配给1D数组
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
这里有很多错误。创建了一个1长度的1D数组,但有两个数组访问。您只能提供一个,因为它是1D阵列
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
额外的[]
不起任何作用,语法无效。即使删除了它们,也不能将int
数组分配给标量int
。此外,不能同时指定长度和数组初始值设定项{}
2) new int[2];
不能同时指定长度0
和数组初始值设定项
2) new int[2];
这不是一个声明。它将成为一个声明,如果它被分配到其他的东西,除了其他可能性
3) int[] x=new int[][]{{1}}[0];
这将声明并初始化1x1 2D数组,其中1
是它的唯一元素。然后,数组访问用于立即访问位置0处的“行”,这是唯一这样的“行”,它本身是一个1长度的1D数组,并分配给1D数组
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
这里有很多错误。创建了一个1长度的1D数组,但有两个数组访问。您只能提供一个,因为它是1D阵列
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
额外的[]
不起任何作用,语法无效。即使删除了它们,也不能将int
数组分配给标量int
。此外,不能同时指定长度和数组初始值设定项{}
2) new int[2];
不能同时指定长度0
和数组初始值设定项
2) new int[2];
这不是一个声明。它将成为一个声明,如果它被分配到其他的东西,除了其他可能性
3) int[] x=new int[][]{{1}}[0];
这将声明并初始化1x1 2D数组,其中1
是它的唯一元素。然后,数组访问用于立即访问位置0处的“行”,这是唯一这样的“行”,它本身是一个1长度的1D数组,并分配给1D数组
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
这里有很多错误。创建了一个1长度的1D数组,但有两个数组访问。您只能提供一个,因为它是1D阵列
4) int[][] x = new int[]{0}[0][0];
5) int x= new int[2]{}[];
额外的[]
不起任何作用,语法无效。即使删除了它们,也不能将int
数组分配给标量int
。此外,不能同时指定长度和数组初始值设定项{}
2) new int[2];
{}
声明和初始化数组时,不允许指示数组中的项数,因为int[0]
应为int[]
。所以它应该是int[]x=newint[]{}
int[]x=new int[2]
newint[]{{1}}[0]
返回的数组是newint[]{1}
,因此int[]x=newint[]{1}
newint[]{0}[0][0]
正在尝试从一维数组获取二维数组的值,并将其分配给数组x
李>
[]
,这是不可能的{}
声明和初始化数组时,不允许指示数组中的项数,因为int[0]
应为int[]
。所以它应该是int[]x=newint[]{}
int[]x=new int[2]
newint[]{{1}}[0]
返回的数组是newint[]{1}
,因此int[]x=newint[]{1}
newint[]{0}[0][0]
正在尝试从一维数组获取二维数组的值,并将其分配给数组x
李>
[]