0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p><strong>Массив</strong>- набор определённого числа однотипных элементов. Использование массива позволяет нам не создавать большое количество переменных, а создать всего лишь одну переменную, имеющую вид массива. В отличие от стандартных переменных массивы содержат больше, чем одно значение. В программировании это очень важно, ведь при разработке софта может потребоваться огромное количество данных.</p>
1
<p><strong>Массив</strong>- набор определённого числа однотипных элементов. Использование массива позволяет нам не создавать большое количество переменных, а создать всего лишь одну переменную, имеющую вид массива. В отличие от стандартных переменных массивы содержат больше, чем одно значение. В программировании это очень важно, ведь при разработке софта может потребоваться огромное количество данных.</p>
2
<p>Лучшая ассоциация для массива - стена с почтовыми ячейками. Каждая ячейка помечена квартирными номерами (<strong>индексы массива</strong>), внутри лежат газеты и письма (<strong>элементы массива</strong>), а получить содержимое можно, открыв ящик ключом (обратиться к содержимому по позиции элемента в массиве через индекс). При этом содержимое массива может включать в себя как простые данные (это одномерный массив), так и несколько вложенных массивов (это многомерный массив).</p>
2
<p>Лучшая ассоциация для массива - стена с почтовыми ячейками. Каждая ячейка помечена квартирными номерами (<strong>индексы массива</strong>), внутри лежат газеты и письма (<strong>элементы массива</strong>), а получить содержимое можно, открыв ящик ключом (обратиться к содержимому по позиции элемента в массиве через индекс). При этом содержимое массива может включать в себя как простые данные (это одномерный массив), так и несколько вложенных массивов (это многомерный массив).</p>
3
<p>Массив однороден, и во всех ячейках должны храниться элементы одного типа. Если это<strong>int</strong>, то мы говорим про массив целых чисел, который может содержать лишь целые числа. Массив строк будет содержать лишь строки, а массив, состоящий из элементов созданного класса Dog, может содержать лишь объекты Dog.</p>
3
<p>Массив однороден, и во всех ячейках должны храниться элементы одного типа. Если это<strong>int</strong>, то мы говорим про массив целых чисел, который может содержать лишь целые числа. Массив строк будет содержать лишь строки, а массив, состоящий из элементов созданного класса Dog, может содержать лишь объекты Dog.</p>
4
<h2>Как происходит объявление массива в Java</h2>
4
<h2>Как происходит объявление массива в Java</h2>
5
<p>Как и любую переменную в Java, массив надо объявить. Для этого есть два способа. Первый больше отвечает стилю Java, второй является наследием языка C.</p>
5
<p>Как и любую переменную в Java, массив надо объявить. Для этого есть два способа. Первый больше отвечает стилю Java, второй является наследием языка C.</p>
6
<p>Вне зависимости от способа,<strong>dataType</strong>- это тип переменных в массиве. Посмотрите внимательно на примеры - в них объявлены 2 массива. Один предназначен для целых чисел типа int, другой - для объектов типа Object.</p>
6
<p>Вне зависимости от способа,<strong>dataType</strong>- это тип переменных в массиве. Посмотрите внимательно на примеры - в них объявлены 2 массива. Один предназначен для целых чисел типа int, другой - для объектов типа Object.</p>
7
<p>Можно сказать, что во время объявления массива ему присваивается как имя (ArrayName), так и тип переменных.</p>
7
<p>Можно сказать, что во время объявления массива ему присваивается как имя (ArrayName), так и тип переменных.</p>
8
<h2>Создание массива</h2>
8
<h2>Создание массива</h2>
9
<p>Чтобы создать массив в Java, нужно зарезервировать место в памяти, для чего используем оператор new:</p>
9
<p>Чтобы создать массив в Java, нужно зарезервировать место в памяти, для чего используем оператор new:</p>
10
new typeOfArray [length];<p>Здесь у нас typeOfArray - тип массива,<strong>length</strong>- длина массива или число ячеек, выраженное в целых числах (int). Но мы лишь выделили память под массив, не связав его ни с какой переменной, ранее объявленной. Как правило, сначала массив объявляют, потом создают:</p>
10
new typeOfArray [length];<p>Здесь у нас typeOfArray - тип массива,<strong>length</strong>- длина массива или число ячеек, выраженное в целых числах (int). Но мы лишь выделили память под массив, не связав его ни с какой переменной, ранее объявленной. Как правило, сначала массив объявляют, потом создают:</p>
11
int[] myArray; // объявление массива myArray = new int[10]; // создание массива, выделение памяти на 10 элементов типа int<p>Итак, объявлен массив из целых чисел с именем myArray. После объявления мы сообщили, что массив состоит из 10 ячеек. Но можно использовать и более сокращённый синтаксис:</p>
11
int[] myArray; // объявление массива myArray = new int[10]; // создание массива, выделение памяти на 10 элементов типа int<p>Итак, объявлен массив из целых чисел с именем myArray. После объявления мы сообщили, что массив состоит из 10 ячеек. Но можно использовать и более сокращённый синтаксис:</p>
12
int[] myArray = new int[10]; // объявление и выделение памяти за один раз<p>Что же, мы создали массив с помощью new. После этого в его ячейках будут записаны значения по умолчанию. Например, для численных типов - это нули (0), для boolean - false, а если говорить о ссылочных типах, то null. Это значит, что после выполнения кода</p>
12
int[] myArray = new int[10]; // объявление и выделение памяти за один раз<p>Что же, мы создали массив с помощью new. После этого в его ячейках будут записаны значения по умолчанию. Например, для численных типов - это нули (0), для boolean - false, а если говорить о ссылочных типах, то null. Это значит, что после выполнения кода</p>
13
int[] myArray = new int[10];<p>у нас на выходе будет массив из 10 целых чисел, причём в каждой ячейке будет записан 0.</p>
13
int[] myArray = new int[10];<p>у нас на выходе будет массив из 10 целых чисел, причём в каждой ячейке будет записан 0.</p>
14
<h2>Длина массива length</h2>
14
<h2>Длина массива length</h2>
15
<p>Длина массива - число элементов, под которое этот массив рассчитан. Длину массива изменить после создания нельзя.</p>
15
<p>Длина массива - число элементов, под которое этот массив рассчитан. Длину массива изменить после создания нельзя.</p>
16
<p>Ещё нюанс: элементы массива в Java нумеруются с нуля. Таким образом, массив на 10 элементов состоит из чисел в диапазоне 0-9.</p>
16
<p>Ещё нюанс: элементы массива в Java нумеруются с нуля. Таким образом, массив на 10 элементов состоит из чисел в диапазоне 0-9.</p>
17
<p>Если нужно получить доступ к длине нашего массива, используют переменную length:</p>
17
<p>Если нужно получить доступ к длине нашего массива, используют переменную length:</p>
18
int[] myArray = new int[10]; // создали массив, присвоили имя myArray System.out.println(myArray.length); // вывели в консоль длину массива<h2>Инициализация массива</h2>
18
int[] myArray = new int[10]; // создали массив, присвоили имя myArray System.out.println(myArray.length); // вывели в консоль длину массива<h2>Инициализация массива</h2>
19
<p>Инициализация - это заполнение массива конкретными данными, а не данными по умолчанию.</p>
19
<p>Инициализация - это заполнение массива конкретными данными, а не данными по умолчанию.</p>
20
<p>Нижеследующий код позволит создать массив, включающий в себя 4 сезона года. Также мы выполним заполнение массива строками-названиями сезонов:</p>
20
<p>Нижеследующий код позволит создать массив, включающий в себя 4 сезона года. Также мы выполним заполнение массива строками-названиями сезонов:</p>
21
String[] seasons = new String[4]; /* выполнили объявление и создание массива из 4 строк, где по умолчанию записано null, ведь строка - ссылочный тип данных*/ seasons[0] = "Winter"; /* в первую ячейку записали строку Winter*/ seasons[1] = "Spring"; /* во вторую ячейку (номер 1) записали строку Spring и т. д.*/ seasons[2] = "Summer"; seasons[3] = "Autumn";<p>Так мы записали названия всех сезонов. Но в принципе можно всё сделать проще,<strong>совместив инициализацию и объявление</strong>:</p>
21
String[] seasons = new String[4]; /* выполнили объявление и создание массива из 4 строк, где по умолчанию записано null, ведь строка - ссылочный тип данных*/ seasons[0] = "Winter"; /* в первую ячейку записали строку Winter*/ seasons[1] = "Spring"; /* во вторую ячейку (номер 1) записали строку Spring и т. д.*/ seasons[2] = "Summer"; seasons[3] = "Autumn";<p>Так мы записали названия всех сезонов. Но в принципе можно всё сделать проще,<strong>совместив инициализацию и объявление</strong>:</p>
22
String[] seasons = new String[] {"Winter", "Spring", "Summer", "Autumn"};<p>Или даже так, опустив оператор new:</p>
22
String[] seasons = new String[] {"Winter", "Spring", "Summer", "Autumn"};<p>Или даже так, опустив оператор new:</p>
23
String[] seasons = {"Winter", "Spring", "Summer", "Autumn"};<h2>Динамический массив в Java</h2>
23
String[] seasons = {"Winter", "Spring", "Summer", "Autumn"};<h2>Динамический массив в Java</h2>
24
<p>Минус массива - статичность, то есть необходимость задавать размер заранее. Для этого и придумали<strong>динамический массив</strong>, который может менять размер в процессе выполнения программы. Например, статические массивы работают по следующей схеме:</p>
24
<p>Минус массива - статичность, то есть необходимость задавать размер заранее. Для этого и придумали<strong>динамический массив</strong>, который может менять размер в процессе выполнения программы. Например, статические массивы работают по следующей схеме:</p>
25
<p>А динамические массивы в Java функционируют несколько иначе:</p>
25
<p>А динамические массивы в Java функционируют несколько иначе:</p>
26
<p>Так как для копирования массива используется специальная нативная функция, проблем с "переездом" не возникает.</p>
26
<p>Так как для копирования массива используется специальная нативная функция, проблем с "переездом" не возникает.</p>
27
<p>В общем, как вы уже догадались, динамические массивы применяются во время обработки наборов однородных данных, размер которых на момент написания программы нам неизвестен.</p>
27
<p>В общем, как вы уже догадались, динамические массивы применяются во время обработки наборов однородных данных, размер которых на момент написания программы нам неизвестен.</p>
28
28