June 26, 2020

Lesson 1

Массив в любом языке программирования - это последовательность элементов в памяти. Если обычная переменная содержит только одно значение, то массив может содержать множество значений одного типа данных. Массивы имеют фиксированную размерность и изменить ее после инициализации невозможно. В приведенном ниже примере показано как инициализируется массив из 6 элементов. Практически во всех языках программирования отсчет в массивах начинается с 0 элемента.

int[] arr = { 0, 1, 2, 3, 4, 5};

Для обхода массива зачастую нужно уметь определить его длину. Это делается с помощью свойства length. Основной фишкой массивов является умение обращаться к элементу по индексу за константное время. Константное время означает что вне зависимости от размерности массива, будь то 100 или 1000000 элементов нужный элемент по индексу будет взят за одно и тоже время из любого места массива. Это свойство массива в дальнейшем будет использоваться во многих структурах данных. Таких как например хеш-таблицы(HashTable, HashMap), динамические массивы(ArrayList).

Практическое задание

Написать нестатический класс обертку для массива целых чисел(int). Назвать класс можно ArrayUtil. В конструктор класса будет передан массив предварительно инициализированный в коде или введенный с клавиатуры*

Класс должен поддерживать операции нахождения максимума в массиве, минимума в массиве, среднего значения по массиву, а также уметь выводить на экран в одну строку все содержимое массива(использовать цикл for).

Код для создания конструктора класса

class ArrayUtil {

private int[] arr;

public ArrayUtil(int[] arr) {

this.arr = arr;

}

Сигнатура метода max

public int max() { return max; }

Сигнатура метода min

public int min() { return min; }

Сигнатура метода avg(Среднее значение по массиву)

public int avg() { return avg; }

Сигнатура метода printAll()

public void printAll();

Как должна выглядеть инициализация класса ArrayUtil в main методе

ArrayUtil arrUtil = new ArrayUtil(arr);

Исходный код закомитить на гитхаб или pastebin