В Java двумерный массив рассматривается как массив массивов , то есть двумерный массив — это специальный одномерный массив, а каждый элемент двумерного массива — это одномерный массив.
Тип данных элемента [][] Имя массива = новый Тип данных элемента [длина двумерного массива][длина одномерного массива];
int[][]arr=newint[3][2];
Вышеупомянутая ситуация означает, что существует три одномерных массива, и каждый одномерный массив имеет 2 элемента.
Тип данных элемента [][] Имя массива = новый Тип данных элемента [длина двумерного массива][];
int[][]arr=newint[3][];
Вышеупомянутая ситуация означает, что существуют три одномерных массива, но количество элементов в каждом одномерном массиве неопределенно, и количество элементов в каждом одномерном массиве может быть разным.
Тип данных элемента [][] Имя массива = {{Элемент 1, Элемент 2,…}, {Элемент 1, Элемент 2,…},…};
int[][]arr={{1,2,3},{4,5},{6,7,8,9}};
Вышеупомянутая ситуация означает, что существует 3 одномерных массива. Первый одномерный массив имеет 3 элемента, второй одномерный массив имеет 2 элемента, а третий одномерный массив имеет 4 элемента. Каждый Количество элементов в. одномерный массив может быть разным.
Существует два формата объявления двумерного массива:
Тип элемента массива имя массива[][];
Тип элемента массива[][] имя массива;
Например:
charcat[][];char[][]cat;
Инициализация двумерных массивов аналогична инициализации одномерных массивов. Существует два способа: динамическая инициализация и статическая инициализация.
1) Сначала объявите, а затем инициализируйте статически
Тип данных элемента [][] имя двумерного массива = новый тип данных элемента [][]{{элемент 1, элемент 2, элемент 3,...},{список значений в списке вторая строка}, …,{Список значений в строке n}};
2) Статическая инициализация при объявлении
Тип данных элемента [][] Имя двумерного массива = новый Тип данных элемента [][]{{Элемент 1, Элемент 2, Элемент 3,…},{Список значений второй строки},…,{nth список значений строк }};
Примечание . Числа нельзя записывать в «[][]» в «типе данных нового элемента [][]» справа, поскольку количество строк и столбцов определяется количеством элементов в {}.
3) Упрощенное написание метода статической инициализации одновременно с объявлением.
Тип данных элемента [][] Имя двумерного массива = {{элемент 1, элемент 2, элемент 3,…},{список значений во второй строке},…,{список значений в n-й строке}};
Например:
publicclassMain{publicstaticvoidmain(String[]args){int[][]arr={{1,2,3},{4,5},{6}};//Определить массив System.out.println(arr[0 ][0]);//1System.out.println(arr[ 1][0]);//4System.out.println(arr[2][0]);//6System.out.println(arr[0][1]);//2System.out.println(arr [1][1]);//5System.out.println(arr[2][1]);//За пределами}}
При создании динамической инициализации не требуется объявлять внутри длину одномерного массива. Поэтому длина каждого одномерного массива может быть разной. Поэтому существуют следующие два метода инициализации.
1) Динамическая инициализация 1: Правило двумерной таблицы
Программист указывает длину массива и присваивает значение позже. Вначале система выдает начальное значение элемента по умолчанию. Обычная двумерная таблица означает, что количество столбцов в каждой строке одинаково. Общий формат следующий. Сначала определите количество строк и количество столбцов:
Тип данных элемента [][] Имя двумерного массива = тип данных нового элемента [m][n];
Где m представляет собой количество одномерных массивов в этом двумерном массиве или количество строк в двумерной таблице. n представляет количество элементов в каждом одномерном массиве или количество ячеек; находятся в каждом ряду.
На этом этапе создается массив, определяется количество строк и столбцов, а элементы имеют значения по умолчанию. Затем элементам присваиваются новые значения:
Имя двумерного массива[индекс строки][индекс столбца]=значение;
Например:
publicclassMain{publicstaticvoidmain(String[]args){int[][]arr=newint[3][2];/*Определить двумерный массив arr. Этот двумерный массив состоит из трех элементов одномерного массива. -мерный массив Имеется 2 элемента */Syst em.out.println(arr);//Выводим имя двумерного массива System.out.println(arr[0]);//Выводим имя первого элемента двумерного массива и имя одномерного массива System.out.println( arr[0][0]);//Выводим элементы двумерного массива}}
2) Динамическая инициализация 2: неправильная двумерная таблица
Неправильная двумерная таблица означает, что количество столбцов в каждой строке может быть разным. Ее общий формат следующий. Сначала определите общее количество строк:
Тип данных элемента [][] Имя двумерного массива = тип данных нового элемента [общее количество строк][];
В это время определяется только общее количество строк, и каждая строка теперь равна нулю. Затем определяется количество столбцов в каждой строке и создается одномерный массив каждой строки:
Имя двумерного массива [индекс строки] = тип данных нового элемента [общее количество столбцов в строке];
В это время элементы строк, которые передают new, имеют значения по умолчанию, а строки, которые не передают new, по-прежнему имеют значение null. Наконец, элементам присваивается значение:
Имя двумерного массива[индекс строки][индекс столбца]=значение;
Примечание . Двумерные таблицы неправильной формы после объявления не могут быть сокращены при инициализации внутреннего одномерного массива.
//Неправильная двумерная таблица определяет двумерный массив int[][]arr=newint[3][] //3 строки, неизвестные столбцы //Инициализируем значение элемента в двумерном массиве arr[0]=; newint[ ]{1};//Это нельзя сократить как arr[0]={1}arr[1]=newint[]{2,3};arr[2]=newint[]{4,5,6 };
Обход двумерного массива аналогичен обходу одномерного массива. Разница в том, что сначала для обхода каждого одномерного массива требуется внешний цикл. Общий формат следующий:
for(inti=0;i<имя двумерного массива.длина;i++){for(intj=0;j<имя двумерного массива[i].length;j++){System.out.print(двумерный имя массива[ i][j]);}System.out.println();}