Учебник по массивам в Java: объявление, создание и инициализация с примерами кода
Что такое массив в Java?
В Java массив — встроенная структура данных, хранящая последовательность элементов фиксированного размера, все одного типа. Элементы индексируются от 0. Массивы — объекты, наследующие от Object и реализующие Serializable и Cloneable, поэтому могут хранить примитивы или ссылки на объекты.
На практике массив позволяет заменить код вида:
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
на лаконичную индексированную форму:
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
Это руководство покрывает:
- Что такое массив
- Переменные массива и 3-шаговый процесс создания
- Ваша первая программа с массивом
- Массивы, передаваемые по ссылке
- Многомерные массивы
Наличие ссылки на массив позволяет эффективно циклом:
for(count=0; count<5; count++) { System.out.println(x[count]); }
Переменные массива
Использование массива в Java следует простому трёхшаговому процессу:
- Объявить тип массива.
- Создать (инстанцировать) массив с размером.
- Опционально: Инициализировать его элементы.
1) Объявление массива
Синтаксис:
<elementType>[] <arrayName>;
или
<elementType> <arrayName>[];
Пример:
int intArray[]; // объявляет массив для хранения int int []intArray; // то же самое
2) Создание массива
Выделение памяти под массив:
arrayName = new dataType[size];
Пример:
intArray = new int[10]; // создаёт место для 10 целых
Комбинированное объявление и создание:
int intArray[] = new int[10];
3) Инициализация массива
Присвоение значений по отдельности:
intArray[0] = 1; intArray[1] = 2;
Или списком инициализации при объявлении:
int intArray[] = {1, 2, 3, 4};
Создаёт массив длины 4 с заданными значениями.
Первая программа с массивом
Шаг 1: Скопируйте код в редактор.
class ArrayDemo{
public static void main(String args[]){
int array[] = new int[7];
for (int count=0; count<7; count++){
array[count] = count + 1;
}
for (int count=0; count<7; count++){
System.out.println("array[" + count + "] = " + array[count]);
}
// System.out.println("Length of Array = " + array.length);
// array[8] = 10;
}
}
Шаг 2: Скомпилируйте и запустите. Вывод:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Шаг 3: Использование array.length возвращает размер массива.
Раскомментируйте строку 10 и запустите снова:
Length of Array = 7
Шаг 4: Java проверяет границы. Раскомментируйте строку 11 для исключения:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
В C это привело бы к тихому чтению/записи за границы.
Массивы передаются по ссылке
Параметры-массивы передаются по ссылке — любая модификация внутри метода влияет на исходный массив.
Пример:
class ArrayDemo {
public static void passByReference(String a[]){
a[0] = "Changed";
}
public static void main(String args[]){
String []b = {"Apple","Mango","Orange"};
System.out.println("Before Function Call " + b[0]);
ArrayDemo.passByReference(b);
System.out.println("After Function Call " + b[0]);
}
}
Вывод:
Before Function Call Apple After Function Call Changed
Многомерные массивы
Многомерный массив — это просто массив массивов. Объявление требует дополнительную пару скобок для каждого измерения:
int twoD[][] = new int[4][5];
При выделении достаточно указать только первое (левое) измерение. Последующие могут выделяться позже, давая тонкий контроль над расположением в памяти.
Пример:
public class Guru99 {
public static void main(String[] args) {
// Создание 4x4 двумерного массива.
int[][] twoD = new int[4][4];
// Присвоение нескольких элементов.
twoD[0][0] = 1;
twoD[1][1] = 2;
twoD[3][2] = 3;
System.out.print(twoD[0][0] + " ");
}
}
Вывод:
1
java
- Массивы в C#: объявление, инициализация и операции
- Освоение массивов в C++: объявление, инициализация и практические примеры
- Освоение многомерных массивов в C++: объявление, инициализация и циклы
- Массивы в C: объявление, инициализация и распространённые операции
- Многомерные массивы в Java: 2D и 3D примеры
- Техники копирования массивов в Java: подробное руководство
- Массивы в C++: объявление, инициализация и работа с указателями
- Создание массива объектов в Java: пошаговое руководство
- Ключевое слово static в Java: переменные, методы и блоки — практические примеры
- MATLAB: Мастерство работы с многомерными и специальными массивами