Массивы в Java

Массивы в Java: создание, доступ по индексу, длина, перебор циклами for и for-each, а также двумерные массивы.

Массив — это контейнер фиксированного размера для нескольких значений одного типа. Каждое значение хранится под своим номером — индексом.

Создание массива

Массив можно создать сразу со значениями или объявить заданного размера (тогда элементы заполнятся значениями по умолчанию: нулями для чисел).

int[] scores = {90, 85, 100, 70};       // сразу со значениями
int[] empty = new int[3];                // три элемента, все 0

String[] names = {"Аня", "Боря", "Вика"};

System.out.println(scores[0]);           // 90 — первый элемент
System.out.println(names[2]);            // Вика

Вывод:

90
Вика

Индексы начинаются с нуля: первый элемент — scores[0], последний — scores[scores.length - 1]. Обращение за границу вызовет ArrayIndexOutOfBoundsException.

Длина массива

У массива есть поле length — количество элементов. Обратите внимание: это поле, а не метод (без скобок).

int[] scores = {90, 85, 100, 70};
System.out.println(scores.length);   // 4

Вывод:

4

Перебор массива

Обычный цикл for даёт доступ к индексу — он нужен, если важна позиция элемента:

int[] scores = {90, 85, 100};

for (int i = 0; i < scores.length; i++) {
    System.out.println("scores[" + i + "] = " + scores[i]);
}

Вывод:

scores[0] = 90
scores[1] = 85
scores[2] = 100

Если индекс не нужен, удобнее цикл for-each — он перебирает значения напрямую:

int[] scores = {90, 85, 100};
int sum = 0;

for (int s : scores) {       // «для каждого s из scores»
    sum += s;
}
System.out.println("Сумма: " + sum);

Вывод:

Сумма: 275

Двумерные массивы

Массив может хранить другие массивы — получается таблица (строки и столбцы). Доступ к элементу — по двум индексам.

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6}
};

System.out.println(matrix[0][2]);   // 3 — первая строка, третий столбец
System.out.println(matrix[1][0]);   // 4 — вторая строка, первый столбец

Вывод:

3
4

Коротко

  • Массив хранит фиксированное число значений одного типа; индексы — с нуля.
  • Размер берут из поля length (без скобок).
  • Цикл for даёт индекс, for-each — сами значения.
  • Двумерный массив — массив массивов, доступ по двум индексам.
Проверьте себя
1. С какого индекса начинается нумерация элементов массива в Java?
AС 1
BС 0
CС -1
DЗависит от типа
2. Как узнать количество элементов массива arr?
Aarr.size()
Barr.length
Carr.count()
Dlength(arr)
3. Когда удобнее цикл for-each вместо обычного for?
AКогда нужен индекс элемента
BКогда нужны только значения, а индекс не важен
CКогда массив пустой
Dfor-each работает быстрее всегда
Поддержать проект