Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
2D数组是用java定义的吗?如果是,那么输出是什么?_Java_Arrays - Fatal编程技术网

2D数组是用java定义的吗?如果是,那么输出是什么?

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

您可以在此处查看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 = 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}};