JavaStart
914 subscribers
903 photos
28 videos
613 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Массивы в Java. Часть 5.

Инициализация массива и доступ к его элементам.

Как создать массив в Java уже понятно. После этой процедуры мы получаем не пустой массив, а массив, заполненный значениями по умолчанию. Например, в случае int это будут нули, а если у нас массив с данными ссылочного типа, то по умолчанию в каждой ячейке записано null.

Получаем доступ к элементу массива (то есть записываем в него значение или выводим его на экран или проделываем с ним какую-либо операцию) мы по его индексу.

Инициализация массива — это заполнение его конкретными данными (не по умолчанию).

Пример: давайте создадим массив из 4 сезонов и заполним его строковыми значениями — названиями этих сезонов. 

String[] seasons  = new String[4];
/* объявили и создали массив. Java выделила память под массив из 4 строк, и сейчас в каждой ячейке записано значение null (поскольку строка — ссылочный тип)*/

seasons[0] = "Winter";
/* в первую ячейку, то есть, в ячейку с нулевым номером мы записали строку Winter. Тут мы получаем доступ к нулевому элементу массива и записываем туда конкретное значение  */

seasons[1] = "Spring";
// проделываем ту же процедуру с ячейкой номер 1 (второй)

seasons[2] = "Summer";
// ...номер 2

seasons[3] = "Autumn";
// и с последней, номер 3

Теперь во всех четырёх ячейках нашего массива записаны названия сезонов. Инициализацию также можно провести по-другому, совместив с инициализацией и объявлением:

String[] seasons  = new String[] {"Winter", "Spring", "Summer", "Autumn"};

Более того, оператор new можно опустить:

String[] seasons  = {"Winter", "Spring", "Summer", "Autumn"};

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8💯21👍1
Какой тип данных всегда имеют ключи в JSON?
Anonymous Quiz
8%
Number
7%
Boolean
32%
Object
42%
String
11%
Посмотреть все
6🎉3👍2
Массивы в Java. Часть 6.

Как вывести массив на экран?

Вывести элементы массива на экран (то есть, в консоль) можно, например, с помощью цикла for.

Ещё один, более короткий способ вывода массива на экран будет рассмотрен в одном из будущих постов. А пока рассмотрим пример с циклическим выводом массива:

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43👨‍💻2
Массивы в Java. Часть 7.

Что же будет, если обратиться к элементу, которого нет в массиве? Иными словами, если у нас есть массив размером 2 элемента (элементы под индексами 0 и 1) и мы с вами хотим вывести в консоль элемент, который находится в ячейке по индексу 3.

Будет очень распространенное Java исключение - ArrayIndexOutOfBoundsException, говорящее нам о том, что запрашиваемый нами индекс находится за пределами нашего массива.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👨‍💻2
Массивы в Java. Часть 8.

Одномерные и многомерные массивы.

А что, если мы захотим создать не массив чисел, массив строк или массив каких-то объектов, а массив массивов? Java позволяет это сделать.

Такое вряд-ли вам придется когда-нибудь использовать на работе в большом коммерческом проекте, но знать об этом нужно!
Какой-нибудь дотошный интервьюер, который любит олимпиадное программирование, может спросить на собеседовании, что это и как создаётся 😄

Уже привычный нам массив
int[] myArray = new int[8]
— так называемый одномерный массив. А массив массивов называется двумерным. Он похож на таблицу, у которой есть номер строки и номер столбца. Или, если вы учили начала линейной алгебры, — на матрицу.

Для чего нужны такие массивы? В частности, для программирования тех же матриц и таблиц, а также объектов, напоминающих их по структуре. Например, игровое поле для шахмат можно задать массивом 8х8.

Многомерный массив объявляется и создается следующим образом:

int[][] twoDimentionalArray = new int [8][8];

В этом массиве ровно 64 элемента:

twoDimentionalArray[0][0],
twoDimentionalArray[0][1],
twoDimentionalArray[1][0],
twoDimentionalArray[1][1] и так далее вплоть до twoDimentionalArray[7][7]. 

Так что если мы с его помощью представим шахматную доску, то клетку А1 будет представлять twoDimentionalArray[0][0], а E2 — twoDimentionalArray[4][1].

Где два, там и три. В Java можно задать массив массивовмассив массивов массивов и так далее. Правда, трёхмерные и более массивы используются ооочень редко. Тем не менее, с помощью трёхмерного массива можно запрограммировать, например, кубик Рубика.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🤓2👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7👍2🔥1
Массивы в Java. Часть 9.

Полезные методы для работы с массивами.

Для работы с массивами в Java есть класс java.util.Arrays (arrays на английском и означает “массивы”). В целом с массивами чаще всего проделывают следующие операции:

– заполнение элементами (инициализация);

– извлечение элемента (по номеру);

– сортировка;

– поиск.

Поиск и сортировка массивов — тема отдельная. С одной стороны очень полезно потренироваться и написать несколько алгоритмов поиска и сортировки самостоятельно. С другой стороны, все лучшие способы уже написаны и включены в библиотеки Java, и ими можно законно пользоваться.

Вот три полезных метода этого класса:

1) Сортировка массива

Метод void sort(int[] myArray, int fromIndex, int toIndex)

– сортирует массив целых чисел или его подмассив по возрастанию.

2) Поиск в массиве нужного элемента

int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)

– этот метод ищет элемент key в уже отсортированном массиве myArray или подмассиве, начиная с fromIndex и до toIndex. Если элемент найден, метод возвращает его индекс, если нет - (-fromIndex)-1.

3) Преобразование массива к строке

Метод String toString(int[] myArray)

– преобразовывает массив к строке. Дело в том, что в Java массивы не переопределяют toString(). Это значит, что если вы попытаетесь вывести целый массив (а не по элементам) на экран непосредственно
(System.out.println(myArray)), вы получите имя класса и шестнадцатеричный хэш-код массива (это определено Object.toString()).

Если вы — новичок, вам, возможно, непонятно пояснение к методу toString(). На первом этапе это и не нужно, зато с помощью этого метода упрощается вывод массива. Java позволяет легко выводить массив на экран без использования цикла.

Давайте создадим массив целых чисел, выведем его на экран с помощью toString(), отсортируем с помощью метода sort и найдём в нём какое-то число (4-я картинка).

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁52💯2👍1
Массивы в Java. Часть 10.

Главное о массивах.

Главные характеристики массива:

– тип помещенных в него данных, имя и длина.

Последнее определяется при инициализации (выделении памяти под массив), первые два параметра определяются при объявлении массива.

– размер массива (количество ячеек) нужно определять в int.

– изменить длину массива после его создания нельзя.

– доступ к элементу массива можно получить по его индексу.

– в массивах, как и везде в Java, элементы нумеруются с нуля.

– после процедуры создания массива он наполнен значениями по умолчанию.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42👨‍💻2