Изучив предыдущий раздел, мы знаем, что в Java нет понятия многомерных массивов, а только одномерные массивы. Мы можем понимать многомерные массивы как массивы массивов, поэтому будет получен нерегулярный массив .
Например, обычный двумерный массив 4×3 имеет 12 элементов, но нерегулярный двумерный массив 4×3 не обязательно содержит такое количество элементов. Например, статически инициализируйте нерегулярный массив:
intArray[][]={{1,2},{3},{4,5,6},{7,8}};
Мы называем массивы двух измерений и выше многомерными массивами. Тогда многомерный массив выше имеет 4 элемента, но количество элементов низкоразмерного массива отличается. Первый массив имеет 2 элемента, а второй массив. имеет 1 элемент, третий массив имеет 3 элемента, а четвертый массив имеет 2 элемента. Это то, что мы называем нерегулярным массивом.
Динамическая инициализация нерегулярного массива немного сложнее. Он не может напрямую использовать новый оператор int[4][3]. Нам нужно сначала инициализировать многомерный массив, а затем отдельно инициализировать низкоразмерный массив, например:
intArray[][]=newint[4][];//Сначала инициализируем многомерный массив значением 4Array[0]=newint[2];//Инициализируем низкоразмерный массив Array[1]=newint[1] ;Массив[по одному 2]=newint[3];Массив[3]=newint[2];
Затем после того, как приведенный выше код инициализирует массив, мы можем знать, что существует не 12 элементов, а только 8 элементов, где индексы — [0][2], [1][1], [1][2] и [ 3][2] не существует. Когда мы попытаемся получить к ним доступ, будет выдано исключение индекса выхода за пределы .
Примечание . Исключение выхода за пределы нижнего индекса (ArrayIndexOutOfBoundsException) выдается при попытке доступа к несуществующему нижнему индексу. Например, если одномерный массив Array состоит из 12 элементов, то выражение Array[12] вызовет исключение выхода за пределы индекса. Это связано с тем, что индекс массива начинается с 0, а индекс последнего элемента должен быть индексом. длина массива минус длина массива 1, поэтому элемент, к которому обращается Array[12], не существует.