Основы двумерных массивов и вложенный перебор
Изучите двумерные массивы, включая массивы разной длины, различия между строками и столбцами, m.length и m[0].length, а также вложенный перебор for.
«Основы двумерных массивов и вложенный перебор» — бесплатный урок Java Academy на CoddyKit. Это урок 1 из 6. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Java Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Java Academy содержит 6 уроков всего.
Что такое двумерный массив
Двумерный массив — это массив массивов. Он может быть прямоугольным или рваным (строки могут иметь разную длину).
Объявление и создание
Объявите и создайте:
public class Main {
public static void main(String[] args) {
// Way 1: Create a 2D array with fixed size
int[][] a = new int[2][3];
// 2 rows, 3 columns → default values = 0
// [
// [0, 0, 0],
// [0, 0, 0]
// ]
// Way 2: Create and initialize directly
int[][] b = {
{1, 2, 3},
{4, 5, 6}
};
// [
// [1, 2, 3],
// [4, 5, 6]
// ]
// Print array a
System.out.println("Array a:");
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j] + " ");
}
System.out.println();
}
// Print array b
System.out.println("Array b:");
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b[i].length; j++) {
System.out.print(b[i][j] + " ");
}
System.out.println();
}
}
}
Строки и столбцы
Строки: m.length. Столбцы (в первой строке): m[0].length. Помните о рваных строках — проверяйте длину каждой строки.
Вложенный перебор
Используйте вложенные циклы, чтобы посетить все элементы:
public class Main {
public static void main(String[] args) {
// Example 2D array (matrix)
int[][] m = {
{1, 2, 3},
{4, 5, 6}
};
// Loop over rows
for (int r = 0; r < m.length; r = r + 1) {
// Loop over columns in the current row
for (int c = 0; c < m[r].length; c = c + 1) {
int value = m[r][c]; // get element at row r, column c
System.out.print(value + " "); // work: here we print
}
System.out.println(); // move to next row
}
}
}
Суммы строк и столбцов
Вычислите суммы:
public class Main {
public static void main(String[] args) {
// Example 2D array (matrix)
int[][] m = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
// Sum of row 1 (second row, index = 1)
int rowSum = 0;
for (int c = 0; c < m[1].length; c = c + 1) {
rowSum = rowSum + m[1][c];
}
System.out.println("Sum of row 1 = " + rowSum);
// Sum of column 2 (third column, index = 2)
int colSum = 0;
for (int r = 0; r < m.length; r = r + 1) {
colSum = colSum + m[r][2];
}
System.out.println("Sum of column 2 = " + colSum);
}
}
Демонстрация двумерных массивов
Запустите: посмотрите общие суммы и суммы по каждой строке.
public class Main {
static int total(int[][] m) {
int s = 0;
for (int r = 0; r < m.length; r = r + 1) {
for (int c = 0; c < m[r].length; c = c + 1) {
s = s + m[r][c];
}
}
return s;
}
static int[] rowSums(int[][] m) {
int[] sums = new int[m.length];
for (int r = 0; r < m.length; r = r + 1) {
int s = 0;
for (int c = 0; c < m[r].length; c = c + 1) s = s + m[r][c];
sums[r] = s;
}
return sums;
}
static String join(int[] a) {
String s = "";
for (int i = 0; i < a.length; i = i + 1) {
s = s + a[i] + (i + 1 < a.length ? " " : "");
}
return s;
}
public static void main(String[] args) {
int[][] m = {
{1, 2, 3},
{4, 5, 6}
};
System.out.println("rows = " + m.length);
System.out.println("cols of row 0 = " + m[0].length);
System.out.println("total = " + total(m));
int[] rs = rowSums(m);
System.out.println("row sums = " + join(rs));
}
}
Количество столбцов
Быстрая проверка: для int[][] m = {{1,2,3},{4,5,6}} сколько столбцов находится в первой строке?
Итоги и далее
Итоги: Вы объявили двумерные массивы, перебирали элементы с помощью вложенных циклов и вычисляли общие суммы.
Далее: потренируйтесь работать с рваными массивами и форматировать таблицы.
Часто задаваемые вопросы
Урок «Основы двумерных массивов и вложенный перебор» бесплатный?
Да — полный текст урока «Основы двумерных массивов и вложенный перебор» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Java Academy, подпишись на CoddyKit PRO. Курс Java Academy содержит 6 уроков всего.
Чему я научусь в уроке «Основы двумерных массивов и вложенный перебор»?
Изучите двумерные массивы, включая массивы разной длины, различия между строками и столбцами, m.length и m[0].length, а также вложенный перебор for. Ты практикуешь Java Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Java Academy?
Предыдущий опыт не требуется. Java Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 6.
Сколько времени занимает урок «Основы двумерных массивов и вложенный перебор»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Java Academy?
Да. Каждый урок Java Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы двумерных массивов и вложенный перебор
- Массивы разной длины и форматирование таблиц
- Максимумы строк и столбцов, транспонирование и форматирование
- Мини-проект: ведомость оценок
- Двумерные утилиты как вспомогательный класс (рефакторинг)
- Очистка и проверка двумерных данных