Разделы презентаций


Массивы в Java

Массивы в JavaОдномерные массивы примитивных типов Объявление ссылки на массив: базовый_тип[] имя_массива;Например: int[] arr;

Слайды и текст этой презентации

Слайд 1Программирование
Тема 3.1 Массивы в Java

ПрограммированиеТема 3.1 Массивы в Java

Слайд 2 Массивы в Java
Одномерные массивы примитивных типов

Объявление ссылки

на массив:

базовый_тип[] имя_массива;
Например: int[] arr;
Выделение памяти и инициализация массива:
имя_массива = new базовый_тип [размер];
arr = new int[10]; // инициализируется значениями 0
arr = new int[] {4,7,9,12,3,8,9,2,6,1};
int N = 10; arr = new int[N];
for(int i=0; i< arr.length; i++) arr[i] = i+1;
Совмещение объявления, выделения памяти и инициализации:
int[] arr = new int[10];
int[] arr = new int[] {4,7,9,12,3,8,9,2,6,1};
int[] arr = {4,7,9,12,3,8,9,2,6,1}; // new подразумевается


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

Слайд 3 Массивы в Java
Массив — набор элементов одного и того

же типа, объединенных общим именем.
Массивы в Java относятся к

ссылочным типам данных. Имя массива является ссылкой на область кучи (динамической памяти), в которой последовательно размещается набор элементов определенного типа. Выделение памяти под элементы массива выполняется с помощью операции new, а за освобождением памяти следит сборщик мусора.
Рассмотрим следующие типы массивов: одномерные массивы примитивных типов, одномерные массивы объектов и многомерные массивы (двумерные прямоугольные и двумерные ступенчатые).
Одномерный массив – это фиксированное количество элементов одного и того же типа, объединенных общим именем, где каждый элемент имеет свой номер. Нумерация элементов массива в Java начинается с нуля.
Одномерный массив в Java реализуется как объект, поэтому его создание состоит из двух этапов. Сначала объявляется ссылочная переменная типа массив, затем выделяется память под требуемое количество элементов базового типа, и ссылочной переменной присваивается адрес нулевого элемента в массиве. Базовый тип определяет тип данных каждого элемента массива. Количество элементов, которые будут храниться в массиве, определяется размером массива. Размер массива может быть задан переменной, но массив не может иметь переменный размер, то есть переменная задающая размер массива должна получить значение до создания массива. Размер массива может быть запрошен через поле length. Поле length. является final, потому выставить через него новый размер массива, увы, не получится.
В Java элементам массива присваиваются начальные значения по умолчанию в зависимости от базового типа. Для арифметических типов – нули, для ссылочных типов – null, для символов - символ с кодом ноль. Кроме того, можно произвести инициализацию массива c использованием списка инициализации, который размещается в фигурных скобках или поэлементно в цикле.
При необходимости, этапы объявления ссылочной переменной типа массив, и выделения необходимого объема памяти могут быть объединены в один.
JVM проверяет выход за границы массива, и в случае необходимости генерирует исключение:
ArrayIndexOutOfBoundsException;
Массивы в JavaМассив — набор элементов одного и того же типа, объединенных общим именем. Массивы в

Слайд 4 Массивы в Java
Одномерные массивы объектов

Пример: Создание массива объектов

класса java.util.Date




Массивы в JavaОдномерные массивы объектовПример: Создание массива объектов класса java.util.Date

Слайд 5 Массивы в Java
Большая часть из того, что сказано о

массивах примитивных типов, верна и для массивов объектов. Их размер

может быть получен через .length, выход за границы контролируется.
Создание массива объектов состоит из двух этапов. Сначала с помощью операции new отводится память под массив ссылок на объекты, затем в цикле с помощью операции new выделяется память под объекты.
В примере на слайде создается массив объектов класса java.util.Date. Если цикл:
for(int i=0;i< dates.length;i++)
dates[i] = new Date();
будет пропущен, то будет ошибка  NullPointerException, которая означает, что массив ссылок на объекты создан и его элементы инициализированы значением null, однако сами объекты не созданы. 
Массивы в JavaБольшая часть из того, что сказано о массивах примитивных типов, верна и для массивов

Слайд 6 Массивы в Java
Оператор цикла for в стиле forech



for(тип итер_пер : массив) блок_операторов
Пример:




Массивы в JavaОператор цикла for в стиле forech for(тип итер_пер : массив) блок_операторовПример:

Слайд 7 Массивы в Java
Во многих языках программирования существует более компактная

форма оператора цикла for для перебора элементов массивов и элементов коллекций - foreach.


В Java решили не добавлять новое ключевое слово, а просто сделали усовершенствованный вид цикла for.
Оператор for в стиле foreach перебирает элементы массива последовательно, начиная с первого и заканчивая последним.
В примере на слайде при прохождении цикла итерационной переменной elem автоматически присваивается значение, равное значению следующего элемента массива a. 
В цикле в стиле foreach итерационная переменная доступна только для чтения, т. е. с ее помощью нельзя изменить элемент массива.

Массивы в JavaВо многих языках программирования существует более компактная форма оператора цикла for для перебора элементов массивов и

Слайд 8 Массивы в Java
Многомерные массивы







Пример: Способы создания двумерного

массива
Создание прямоугольного двумерного массива
int[][] a = new int[10][5];
Создание ступенчатого

двумерного массива
int[][] a = new int[3][]; // line 1
a[0] = new int[2]; // line 2
a[1] = new int[4]; // line 3
a[2] = new int[3]; // line 4



Массивы в JavaМногомерные массивы Пример: Способы создания двумерного массива Создание прямоугольного двумерного массиваint[][] a =

Слайд 9 Массивы в Java
Для простоты начнем с двумерных массивов, а

потом уже перейдем к n-мерным. 
Для двумерного массива не существует такого

понятия как его размеры. Можно определить размер массива только по первому индексу. Причина кроется в организации массива. Он представляет собой массив ссылок на массивы, каждый из которых содержит реальные данные. И эти массивы могут иметь разную длину!
Рассмотрим двумерный массив на слайде. Его длина по первому индексу равна 3. Ее можно получить через a.length. Элементами этого массива являются ссылки на массивы с данными. Длина каждого из этих массивов может быть получена так же через .length. Доступ к каждому из этих массивов осуществляется через его индекс – первый индекс в массиве a.
Теперь понятно, что можно говорить только о длине двумерного массива по первому индексу. Максимальное значение второго индекса может быть получено только для каждого конкретного значения первого индекса.
Стандартный способ создания двумерного массива – это использование обычной конструкции:
int[][] array1 = new int[10][5];
Эта конструкция создает двумерный массив размером 10х5. О размерах тут можно говорить только потому, что размер по второму индексу явно указан при инициализации. И все строки будут длины 5, массив будет прямоугольным.
Есть, однако, и другой способ. Для примера создадим массив, приведенный на рисунке слайда. Обратите внимание, в строке 1 при инициализации массива не указана размерность по второму индексу! В строке 1 создается массив по первому индексу, размером 3. Это означает, что выделяется память под три ссылки на массивы-строки. Сами массивы не создаются, выделенная память инициализирована значениями null. В строке 2 создается массив длиной 2. Ссылка на этот массив сохраняется в первом элементе массива по первому индексу. Точно так же в строках 3 и 4 создаются массивы, ссылки на которые сохраняются во втором и третьем элементах массива по первому индексу. В итоге мы имеем массив произвольной формы (ступенчатый массив). Разумеется, мы могли бы создать все три массива-строки одинаковой длины, скажем, 5. Эти действия были бы полностью эквивалентны конструкции int[][] a = new int[10][5];




Массивы в JavaДля простоты начнем с двумерных массивов, а потом уже перейдем к n-мерным. Для двумерного массива

Слайд 10 Массивы в Java
Многомерные массивы

Пример: Инициализация двумерных массивов




Массивы в JavaМногомерные массивы Пример: Инициализация двумерных массивов

Слайд 11 Массивы в Java
Некоторые методы класса java.util Arrays
Методы

сортировки:
static void sort(type[] a) // type может быть byte, short,

int, long,
// char, float, double или тип Object
static void sort(type[] a, int from, int to)
static void sort(Object[] a, Comparator c)
static void sort(Object[] a, int from, int to, Comparator c)
Методы бинарного поиска:
static int binarySearch(type[] a, type element)
static int binarySearch(Object[] a, Object element, Comparator c).
Методы заполнения массива:
static void fill(type[], type value)
static void fill(type[], int from, int to, type value)
Методы сравнения массивов:
static boolean equals(type[] al, type[] a2)

Массивы в Java Некоторые методы класса java.util ArraysМетоды сортировки:static void sort(type[] a) // type может

Слайд 12 Массивы в Java
В классе Arrays из пакета java.util

собрано множество методов для работы с массивами. Их можно разделить

на четыре группы.
Восемнадцать статических методов сортируют массивы с разными типами числовых элементов в порядке возрастания чисел или просто объекты в их естественном порядке.
Восемь из них имеют простой вид static void sort(type[] a), где type может быть один из семи примитивных типов byte, short, int, long, char, float, double или тип Object .
Восемь методов с теми же типами сортируют часть массива от индекса from включительно до индекса to исключительно: static void sort(type[] a, int from, int to).
Оставшиеся два метода сортировки упорядочивают массив или его часть с элементами типа Object по правилу, заданному объектом с, реализующим интерфейс Comparator.
После сортировки можно организовать бинарный поиск в массиве одним из девяти статических методов поиска. Восемь методов имеют вид static int binarySearch(type[] a, type element), где type — один из тех же восьми типов. Девятый метод поиска имеет вид static int binarySearch(Object[] a, Object element, Comparator c). Он отыскивает элемент element в массиве, отсортированном в порядке, заданном объектом с.
Методы поиска возвращают индекс найденного элемента массива. Если элемент не найден, то возвращается отрицательное число
Восемнадцать статических методов заполняют массив или часть массива указанным значением value.
Наконец, девять статических логических методов сравнивают массивы.
Массивы считаются равными, и возвращается true , если они имеют одинаковую длину и равны элементы массивов с одинаковыми индексами.




Массивы в JavaВ классе Arrays из пакета java.util собрано множество методов для работы с массивами.

Слайд 13 Массивы в Java
Пример.

Массивы в JavaПример.

Слайд 14 Массивы в Java
Пример.

Массивы в JavaПример.

Слайд 15 Контрольные вопросы
Понятие массива. Одномерные массивы в Java: синтаксис

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

примеры использования.
Класс Arrays в Java: назначение, примеры использования основных методов



Контрольные вопросыПонятие массива. Одномерные массивы в Java: синтаксис описания и примеры использования.Двумерные массивы в Java:

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика