2D数组是用java定义的吗?如果是,那么输出是什么?
您可以在此处查看oracle官方规范: 当您阅读第章(阵列访问)时,您将看到:2D数组是用java定义的吗?如果是,那么输出是什么?,java,arrays,Java,Arrays,您可以在此处查看oracle官方规范: 当您阅读第章(阵列访问)时,您将看到: “所有数组都是0原点。长度为n的数组可以由0到n-1的整数索引。”2D数组实际上是数组数组数组。所以你可以这样做 public class Main { public static void main(String[] args) { int[][] numbers = {{1, 2, 3} , {4, 5, 6, 7}}; //Is it defined? int x = n
“所有数组都是0原点。长度为n的数组可以由0到n-1的整数索引。”2D数组实际上是数组数组数组。所以你可以这样做
public class Main {
public static void main(String[] args) {
int[][] numbers = {{1, 2, 3} , {4, 5, 6, 7}}; //Is it defined?
int x = numbers[0][3]; // Should the output be 0?
System.out.println(x);
}
}
并打印它们
int[][] arr = new int[4][];
arr[0] = new int[] {1,2,3};
arr[1] = new int[] {4,5,6,7};
arr[2] = new int[] {8,9,10,11,12,13};
arr[3] = new int[] {14,15};
印刷品
for (int[] a : arr) {
System.out.println(Arrays.toString(a));
}
从技术上讲,没有二维阵列。你可以拥有一个数组;这正是通过
[]
语法传达的
以你为例,
[1, 2, 3]
[4, 5, 6, 7]
[8, 9, 10, 11, 12, 13]
[14, 15]
数字的第0个元素,即数字[0]
,是一个3元素数组,而数字[1]
,是一个4元素数组
访问numbers[0][3]
将引发异常,因为3元素数组超出范围
参考Java语言规范:。这是一个。因此,
numbers[1][3]
将被定义为数字7,但numbers[0,3]
将导致数组越界异常,因为第一行中没有第四个元素。在任何情况下,检查都很容易:。请注意,它进行编译(表明数组声明成功),但在第4行“输出是否应为0?”抛出一个java.lang.ArrayIndexOutOfBoundsException
,您为什么不试试呢,即运行代码,看看会发生什么?这并没有回答他的问题。嗯,这有点部分回答了。
int[][] numbers = {{1, 2, 3} , {4, 5, 6, 7}};