Массивы в Java. Часть 5.
Инициализация массива и доступ к его элементам.
Как создать массив в Java уже понятно. После этой процедуры мы получаем не пустой массив, а массив, заполненный значениями по умолчанию. Например, в случае int это будут 0, а если у нас массив с данными ссылочного типа, то по умолчанию в каждой ячейке записаны 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 уже понятно. После этой процедуры мы получаем не пустой массив, а массив, заполненный значениями по умолчанию. Например, в случае int это будут 0, а если у нас массив с данными ссылочного типа, то по умолчанию в каждой ячейке записаны 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"};
👍9👨💻3🔥2⚡1❤1👌1
Массивы в Java. Часть 6.
Как вывести массив на экран?
Вывести элементы массива на экран (то есть, в консоль) можно, например, с помощью цикла for.
Ещё один, более короткий способ вывода массива на экран будет рассмотрен в одном из будущих постов. А пока рассмотрим пример с циклическим выводом массива:
Как вывести массив на экран?
Вывести элементы массива на экран (то есть, в консоль) можно, например, с помощью цикла for.
Ещё один, более короткий способ вывода массива на экран будет рассмотрен в одном из будущих постов. А пока рассмотрим пример с циклическим выводом массива:
👍9❤2🔥2👨💻2⚡1
Массивы в Java. Часть 7.
Что же будет, если обратиться к элементу, которого нет в массиве? Иными словами, если у нас есть массив размером 2 элемента (элементы под индексами 0 и 1) и мы с вами хотим вывести в консоль элемент, который находится в ячейке по индексу 3.
Будет Java исключение, говорящее нам о том, что запрашиваемый нами индекс находится за пределами нашего массива.
👉 JavaStart. Подписаться
Что же будет, если обратиться к элементу, которого нет в массиве? Иными словами, если у нас есть массив размером 2 элемента (элементы под индексами 0 и 1) и мы с вами хотим вывести в консоль элемент, который находится в ячейке по индексу 3.
Будет Java исключение, говорящее нам о том, что запрашиваемый нами индекс находится за пределами нашего массива.
👉 JavaStart. Подписаться
👍8🔥2❤1💘1
Массивы в 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 можно задать массив массивов… массив массивов массивов и так далее. Правда, трёхмерные и более массивы используются ооочень редко. Тем не менее, с помощью трёхмерного массива можно запрограммировать, например, кубик Рубика.
👉 JavaStart. Подписаться
Одномерные и многомерные массивы.
А что, если мы захотим создать не массив чисел, массив строк или массив каких-то объектов, а массив массивов? 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 можно задать массив массивов… массив массивов массивов и так далее. Правда, трёхмерные и более массивы используются ооочень редко. Тем не менее, с помощью трёхмерного массива можно запрограммировать, например, кубик Рубика.
👉 JavaStart. Подписаться
👍10🔥4❤2👌2👨💻1
Занимаетесь учебой по воскресеньям? 🤓
Anonymous Poll
54%
Да 🧑💻
13%
Конечно! 🦈
16%
Нет, мой мозг отдыхает 🫠
12%
Нет, провожу время с семьей 👪
4%
Пишу код как не в себе! 👹
👍3❤1🔥1👨💻1🆒1
Массивы в Java. Часть 9.
Полезные методы для работы с массивами.
Для работы с массивами в Java есть класс java.util.Arrays (arrays на английском и означает “массивы”). В целом с массивами чаще всего проделывают следующие операции:
– заполнение элементами (инициализация);
– извлечение элемента (по номеру);
– сортировка;
– поиск.
Поиск и сортировка массивов — тема отдельная. С одной стороны очень полезно потренироваться и написать несколько алгоритмов поиска и сортировки самостоятельно. С другой стороны, все лучшие способы уже написаны и включены в библиотеки Java, и ими можно законно пользоваться.
Вот три полезных метода этого класса:
Сортировка массива
Метод void sort(int[] myArray, int fromIndex, int toIndex)
– сортирует массив целых чисел или его подмассив по возрастанию.
Поиск в массиве нужного элемента
int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)
– этот метод ищет элемент key в уже отсортированном массиве myArray или подмассиве, начиная с fromIndex и до toIndex. Если элемент найден, метод возвращает его индекс, если нет - (-fromIndex)-1.
Преобразование массива к строке
Метод String toString(int[] myArray)
– преобразовывает массив к строке. Дело в том, что в Java массивы не переопределяют toString(). Это значит, что если вы попытаетесь вывести целый массив (а не по элементам) на экран непосредственно
(System.out.println(myArray)), вы получите имя класса и шестнадцатеричный хэш-код массива (это определено Object.toString()).
Если вы — новичок, вам, возможно, непонятно пояснение к методу toString(). На первом этапе это и не нужно, зато с помощью этого метода упрощается вывод массива. Java позволяет легко выводить массив на экран без использования цикла.
Давайте создадим массив целых чисел, выведем его на экран с помощью toString(), отсортируем с помощью метода sort и найдём в нём какое-то число (4-я картинка).
👉 JavaStart. Подписаться
Полезные методы для работы с массивами.
Для работы с массивами в Java есть класс java.util.Arrays (arrays на английском и означает “массивы”). В целом с массивами чаще всего проделывают следующие операции:
– заполнение элементами (инициализация);
– извлечение элемента (по номеру);
– сортировка;
– поиск.
Поиск и сортировка массивов — тема отдельная. С одной стороны очень полезно потренироваться и написать несколько алгоритмов поиска и сортировки самостоятельно. С другой стороны, все лучшие способы уже написаны и включены в библиотеки Java, и ими можно законно пользоваться.
Вот три полезных метода этого класса:
Сортировка массива
Метод void sort(int[] myArray, int fromIndex, int toIndex)
– сортирует массив целых чисел или его подмассив по возрастанию.
Поиск в массиве нужного элемента
int binarySearch(int[] myArray, int fromIndex, int toIndex, int key)
– этот метод ищет элемент key в уже отсортированном массиве myArray или подмассиве, начиная с fromIndex и до toIndex. Если элемент найден, метод возвращает его индекс, если нет - (-fromIndex)-1.
Преобразование массива к строке
Метод String toString(int[] myArray)
– преобразовывает массив к строке. Дело в том, что в Java массивы не переопределяют toString(). Это значит, что если вы попытаетесь вывести целый массив (а не по элементам) на экран непосредственно
(System.out.println(myArray)), вы получите имя класса и шестнадцатеричный хэш-код массива (это определено Object.toString()).
Если вы — новичок, вам, возможно, непонятно пояснение к методу toString(). На первом этапе это и не нужно, зато с помощью этого метода упрощается вывод массива. Java позволяет легко выводить массив на экран без использования цикла.
Давайте создадим массив целых чисел, выведем его на экран с помощью toString(), отсортируем с помощью метода sort и найдём в нём какое-то число (4-я картинка).
👉 JavaStart. Подписаться
👍12❤2🔥2✍1👨💻1
Массивы в Java. Часть 10.
Главное о массивах.
Главные характеристики массива:
– тип помещённых в него данных, имя и длина.
Последнее решается при инициализации (выделении памяти под массив), первые два параметра определяются при объявлении массива.
– размер массива (количество ячеек) нужно определять в int.
– изменить длину массива после его создания нельзя.
– доступ к элементу массива можно получить по его индексу.
– в массивах, как и везде в Java, элементы нумеруются с нуля.
– после процедуры создания массива он наполнен значениями по умолчанию.
👉 JavaStart. Подписаться
Главное о массивах.
Главные характеристики массива:
– тип помещённых в него данных, имя и длина.
Последнее решается при инициализации (выделении памяти под массив), первые два параметра определяются при объявлении массива.
– размер массива (количество ячеек) нужно определять в int.
– изменить длину массива после его создания нельзя.
– доступ к элементу массива можно получить по его индексу.
– в массивах, как и везде в Java, элементы нумеруются с нуля.
– после процедуры создания массива он наполнен значениями по умолчанию.
👉 JavaStart. Подписаться
👍5✍1🔥1👌1🆒1
Коллекции в Java. Часть 1.
Начнем изучать обширную тему, которая нужна как для коммерческой разработки, так и для каждого собеседования на Java разработчика или стажера.
Что такое коллекции?
Если объяснить простыми словами, то коллекции в Java — это общее название для нескольких похожих друг на друга структур данных. Это сложные типы, в которых может храниться большое количество значений.
Более простой пример структур — массивы: в них могут хранится сколько-то значений.
Но в отличие от массивов коллекции динамические, то есть у них не фиксированная длина. Их размер может меняться – можно добавлять и удалять элементы с помощью методов.
Например, возьмем список чисел: [1, 1, 2, 3, 5]. Весь список — структура данных, в которой хранится 5 элементов. Если к нему можно добавить шестой элемент, допустим 8, — это динамическая структура данных, и она вполне может относиться к коллекциям.
На месте чисел могут быть строки, объекты и другие типы данных. Главное — элементы должны быть однородными, одинакового типа.
Для нужны коллекции?
Структуры данных нужны для хранения и получения информации. Но если они статические, в определенный момент пользоваться ими становится неудобно: фиксированное количество элементов не даст расширить структуру. А создавать сразу большой массив неэффективно с точки зрения памяти.
Поэтому существуют динамические структуры. Так как они меняют размер, в них можно хранить практически любое количество информации и не опасаться, что они займут больше места, чем необходимо. Это делает программирование более удобным и ускоряет работу с данными.
Разные варианты коллекций нужны, потому что для различных задач требуются свои особенности хранения и обработки данных. Где-то они должны быть структурированными, а где-то — допустим, уникальными. В одной задаче важно быстро получать элементы, в другой — быстро добавлять. Поэтому реализации разные, и для каждой задачи эффективнее своя.
Это было введение, углубимся в Collection в следующих постах.
👉 JavaStart. Подписаться
Начнем изучать обширную тему, которая нужна как для коммерческой разработки, так и для каждого собеседования на Java разработчика или стажера.
Что такое коллекции?
Если объяснить простыми словами, то коллекции в Java — это общее название для нескольких похожих друг на друга структур данных. Это сложные типы, в которых может храниться большое количество значений.
Более простой пример структур — массивы: в них могут хранится сколько-то значений.
Но в отличие от массивов коллекции динамические, то есть у них не фиксированная длина. Их размер может меняться – можно добавлять и удалять элементы с помощью методов.
Например, возьмем список чисел: [1, 1, 2, 3, 5]. Весь список — структура данных, в которой хранится 5 элементов. Если к нему можно добавить шестой элемент, допустим 8, — это динамическая структура данных, и она вполне может относиться к коллекциям.
На месте чисел могут быть строки, объекты и другие типы данных. Главное — элементы должны быть однородными, одинакового типа.
Для нужны коллекции?
Структуры данных нужны для хранения и получения информации. Но если они статические, в определенный момент пользоваться ими становится неудобно: фиксированное количество элементов не даст расширить структуру. А создавать сразу большой массив неэффективно с точки зрения памяти.
Поэтому существуют динамические структуры. Так как они меняют размер, в них можно хранить практически любое количество информации и не опасаться, что они займут больше места, чем необходимо. Это делает программирование более удобным и ускоряет работу с данными.
Разные варианты коллекций нужны, потому что для различных задач требуются свои особенности хранения и обработки данных. Где-то они должны быть структурированными, а где-то — допустим, уникальными. В одной задаче важно быстро получать элементы, в другой — быстро добавлять. Поэтому реализации разные, и для каждой задачи эффективнее своя.
Это было введение, углубимся в Collection в следующих постах.
👉 JavaStart. Подписаться
👍20🔥3❤2✍1👌1