Массивы в java

Если переменные предназначены для хранения одиночного значения, то массив представляет набор однотипных значений. Объявление массива похоже на объявление переменной:

Например,

Вместе с объявлением мы можем сразу же создать массив:

Создание массива производится с помощью следующей конструкции: new тип_данных[количество_элементов], где new — ключевое слово, выделяющее память для указанного в скобках количества элементов. Например, int nums[] = new int[4]; — в этом выражении создается массив из четырех элементов int и каждый элемент по умолчанию равен нулю.

После создания массива мы можем обратиться к любому его элементу и изменить его:

Отсчет элементов массива начинается с 0, поэтому в данном случае, чтобы обратиться к четвертому элементу в массиве, нам надо использовать выражение nums[3].

И так как у нас массив определен только для 4 элементов, то мы не можем обратиться, например, к шестому элементу: nums[5] = 5;. Если мы так попытаемся сделать, то мы получим ошибку.

В предыдущем примере мы сначала создали массив, а потом по отдельности проинициализировали каждый его элемент. Однако есть и альтернативные пути инициализации массивов:


Здесь мы сразу указываем все элементы массива.

Многомерные массивы

Ранее мы рассматривали одномерные массивы, которые можно представить как цепочку или строку однотипных значений. Но кроме одномерных массивов также бывают и многомерными. Наиболее известный многомерный массив — таблица, представляющая двухмерный массив:


Визуально оба массива можно представить следующим образом:

Одномерный массив nums1
0 1 2 3 4 5
Двухмерный массив nums2
0 1 2
3 4 5

Поскольку массив nums2 двухмерный, он представляет собой простую таблицу. Его также можно было создать следующим образом: int[][] nums2 = new int[3][3];. Количество квадратных скобок указывает на размерность массива. А числа в скобках — на количество строк и столбцов. И также, используя индексы, мы можем использовать элементы массива в программе:

Объявление трехмерного массива могло бы выглядеть так:

int[][][] nums3 = new int[2][3][4];

Массив массивов

Многомерные массивы могут быть также представлены как «зубчатые массивы». В вышеприведенном примере двухмерный массив имел 3 строчки и три столбца, поэтому у нас получалась ровная таблица. Но мы можем каждому элементу в двухмерном массиве присвоить отдельный массив с различным количеством элементов:

Работа с массивами и класс Arrays

Важнейшее свойство, которым обладают массивы, является свойство length, возвращающее длину массива, то есть количество его элементов: int length = nums.length;

Для работы с массивами в библиотеке классов Java в пакете java.util определен специальный класс Arrays. С его помощью мы можем производить ряд операций над массивами.

Копирование массивов

Массивы, также как и переменные, мы можем присваивать:

Здесь два массива, второму присваивается первый массив. Однако на самом деле при присвоении переменная figures будет хранить ссылку на область в памяти, где находится массив. В итоге и figures и numbers будут указывать на один и тот же массив, и если мы изменим элемент в массиве figures figures[2]=30, то изменится и массив numbers, так как это фактически один и тот же массив. Чтобы такой проблемы избежать, надо использовать копирование массивов.

Для копирования используется метод Arrays.copyOf:

Метод Arrays.copyOf(numbers, numbers.length) принимает два параметра: первый параметр — массив, который надо скопировать, а второй параметр — сколько элементов надо скопировать.

Сортировка

С помощью метода Arrays.sort можно отсортировать массив:

 ЗАДАЧИ ПО МАССИВАМ

Для тех кто дочитал до конца — БОНУС

ОСНОВНЫЕ ЗАДАНИЯ

простые задания

— Найти среднее арифметическое в одномерном массиве состоящем из чисел

— Найти сумму элементов в двухмерном массиве

— Найти среднее арифметическое в двухмерном массиве

— Максимальное и минимальное значение в одномерном массиве, и поменять их местами

— Найти максимальное и минимальное значение в двухмерном массиве и поменять их местами.

средние задания

— Заполнить двухмерный массив случайными числами

— Повернуть матрицу(Двухмерный массив). Матрица квадратная.

— Найти строку в двухмерном массиве, имеющую самую большую сумму элементов

— Найти строку в двухмерном массиве, имеющую минимальную сумму элементов

— Поменять местами самую большую и самую маленькою строку. (Из предидущих двух заданий)

сложные задания

— Умножить две матрицы.

— Сортировать двухмерный массив.

— Выводить числа фибоначчи(В некотором количестве, заданной переменной). С информацией ознакомится самостоятельно!

ДОП ЗАДАНИЯ

простые задание для тех кому нужна дополнительная тренировка
1. из трех чисел, заданных как переменные а0, а1, а2 — найти максимальное и минимальное значение.
2. вывести первую половину массива.
3. вывести вторую половину массива.
4. скопировать данные из первого массива во второй.
5. написать программу решение квадратного уравнения.
6. вывести все слова в предложении(Слова разделены одним пробелом)
7. вывести слова из предложения, имеющие одинаковую длину.

Более сложные задания 
1. инвертировать массив в обратном направлении
2. сортировать массив двумя разными способами
3. удалить из предложения слова которые повторяются. (Слова разделенны одним пробелом)
4. найти самое длинное слово в строке(разделенное одним пробелом)
5. сложить две двухмерные матрицы(одинаковой размерности), в третюю, и вывести её содержимое
6. найти максимальное число в двухмерном массиве(тип — int[][])
7. сортировать двухмерный массив по возрастанию

Подписаться
Уведомлять о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x