Массивы в Java: объявление, инициализация и манипуляции
Массивы в Java
Это подробное руководство проведет вас через все аспекты массивов Java — от объявления и инициализации до эффективного обхода и реальных применений. Идеально для новичков и опытных разработчиков.
Массив — это непрерывный блок памяти, хранящий несколько значений одного типа.
Например, чтобы хранить имена 100 человек, создадим строковый массив на 100 элементов:
String[] array = new String[100];
Обратите внимание на фиксированный размер: после выделения массив не может вырасти больше 100 элементов.
Объявление массива в Java
В Java объявление массива следует такому синтаксису:
dataType[] arrayName;
- dataType — примитивные типы вроде
int,char,double,byteили ссылочные типы:Stringили пользовательские объекты. - arrayName — валидный идентификатор.
Пример:
double[] data;
Здесь data — массив, способный хранить значения double.
Сколько элементов он может содержать?
Емкость определяется выделением памяти:
// объявление массива
double[] data;
// выделение памяти
data = new double[10];
Размер массива — или length — теперь равен 10.
Часто объявление и выделение объединяют:
double[] data = new double[10];
Инициализация массивов
Массивы можно инициализировать при объявлении списком значений:
// объявление и инициализация
int[] age = {12, 4, 5, 2, 5};
Так как вы предоставляете значения, Java выводит размер (5 в данном случае).
Альтернативно, можно создать пустой массив и заполнять значения по индексу:
// объявление массива
int[] age = new int[5];
// присваивание значений
age[0] = 12;
age[1] = 4;
age[2] = 5;
...

Ключевые моменты:
- Индексы начинаются с 0.
- Последний элемент находится по индексу
n-1при размереn.
Доступ к элементам
Получить значение по индексу:
array[index]
Пример программы:
class Main {
public static void main(String[] args) {
int[] age = {12, 4, 5, 2, 5};
System.out.println("Доступ к элементам массива:");
System.out.println("Первый элемент: " + age[0]);
System.out.println("Второй элемент: " + age[1]);
System.out.println("Третий элемент: " + age[2]);
System.out.println("Четвертый элемент: " + age[3]);
System.out.println("Пятый элемент: " + age[4]);
}
}
Вывод
Доступ к элементам массива: Первый элемент: 12 Второй элемент: 4 Третий элемент: 5 Четвертый элемент: 2 Пятый элемент: 5
Циклы позволяют массовую обработку.
Итерация по массивам
Использование классического цикла for
class Main {
public static void main(String[] args) {
int[] age = {12, 4, 5};
System.out.println("Использование цикла for:");
for (int i = 0; i < age.length; i++) {
System.out.println(age[i]);
}
}
}
Вывод
Использование цикла for: 12 4 5
Свойство length дает размер массива.
Использование улучшенного цикла for (for-each)
class Main {
public static void main(String[] args) {
int[] age = {12, 4, 5};
System.out.println("Использование for-each:");
for (int a : age) {
System.out.println(a);
}
}
}
Вывод
Использование for-each: 12 4 5
Сумма и среднее значение элементов массива
class Main {
public static void main(String[] args) {
int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
int sum = 0;
Double average;
for (int number : numbers) {
sum += number;
}
int arrayLength = numbers.length;
average = ((double)sum / (double)arrayLength);
System.out.println("Сумма = " + sum);
System.out.println("Среднее = " + average);
}
}
Вывод
Сумма = 36 Среднее = 3.6
Пример демонстрирует улучшенный цикл for, приведение типов и свойство length.
Многомерные массивы
Помимо одномерных массивов, Java поддерживает многоуровневые массивы — массивы массивов. Например:
double[][] matrix = { {1.2, 4.3, 4.0}, {4.1, -1.1} };
Здесь matrix — 2-D массив (матрица). Подробнее: Многомерные массивы в Java.
Рекомендуемые статьи
- Копирование массивов в Java
- Java программа для вывода массива
- Java программа для конкатенации двух массивов
- Преобразование ArrayList в массив и обратно
- Динамические массивы в Java
java
- Массивы в C#: объявление, инициализация и операции
- Зубчатые массивы в C#: объявление, инициализация и доступ
- Освоение операторов Java: типы, синтаксис и практические примеры
- Техники копирования массивов в Java: подробное руководство
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры
- Массивы в C++: объявление, инициализация и работа с указателями
- Динамическое выделение массивов в C++: практическое руководство с примерами кода
- Учебник по массивам в Java: объявление, создание и инициализация с примерами кода