Понятие массива. Синтаксис создания массива

Содержание

Слайд 2

Контрольные вопросы Что такое цикл? Когда обычно применяют цикл for? Какие

Контрольные вопросы

Что такое цикл?
Когда обычно применяют цикл for?
Какие есть особенности у

цикла for?
Как работает break в циклах?
Чем отличается использование continue в цикле while и for?
Основное правило вложенных циклов
Слайд 3

Одна переменная – одно значение Для хранения данных в памяти можно

Одна переменная – одно значение

Для хранения данных в памяти можно использовать

переменные. Но каждая переменная способна одновременно хранить лишь один элемент информации. Чтобы сохранить второй элемент, необходимо создать ещё одну переменную... Но что же делать, если нужно будет хранить целое множество однотипных элементов?
Слайд 4

Использовать массивы! Для наглядности представьте себе собранные в один ряд пустые

Использовать массивы!
Для наглядности представьте себе собранные в один ряд пустые коробки.

В каждую коробочку можно положить что-нибудь однотипное, например, котов. Теперь, даже не зная их по именам, вы можете выполнить команду Накормить кота из 3 коробки. Сравните с командой Накормить Рыжика. Чувствуете разницу? Вам не обязательно знать котов по именам, но вы всё равно сможете справиться с заданием. Завтра в этих коробках могут оказаться другие коты, но это не составит для вас проблемы, главное знать номер коробки, который называется индексом.
Слайд 5

Понятие массива Массив – это множество однотипных переменных, последовательно расположенных в

Понятие массива

Массив – это множество однотипных переменных, последовательно расположенных в памяти

(т.е. рядом, друг за другом)
Значения переменных массива доступны по одному общему имени
При этом каждая переменная в массиве является самостоятельной единицей под названием элемент
Каждый элемент имеет свой порядковый номер - индекс. По индексу можно обращаться к конкретному элементу массива
Индексы массива начинаются с нуля (индекс - смещение от начала).
Слайд 6

Синтаксис создания массива тип[] имя = new тип[количество_элементов]; или тип имя[]

Синтаксис создания массива

тип[] имя = new тип[количество_элементов];
или
тип имя[] = new

тип[количество_элементов];
Создание ссылочной переменной (без массива):
int cats[]; // первый вариант
int[] cats; // второй вариант
Слайд 7

Примеры кода int[] cats; cats = new int[8]; // все элементы

Примеры кода

int[] cats;
cats = new int[8];
// все элементы массива будут равны

0
int[] cats = new int[8];
int count = 8; // count = sc.nextInt();
int[] cats = new int[count];
String cats[] = new String[8];
// все элементы массива будут равны null
Слайд 8

Явная инициализация массива int[] cats = new int[] {5, 4, 7,

Явная инициализация массива

int[] cats = new int[] {5, 4, 7, 3};
int[]

cats = {5, 4, 7}; // упрощённая форма записи
String catNames[] = new String[] {"Рыжик", "Барсик", "Том" };
int[] cats, dogs, chipmunks; // три ссылки!
int cats[], dogs[], chipmunks[], amount;
Слайд 9

Индексация элементов массива int[] cats = new int[10]; Элементы располагаются по

Индексация элементов массива


int[] cats = new int[10];
Элементы располагаются по возрастанию адресов.

Формула, по которой виртуальная машина определяет нужный адрес:
базовый адрес массива + размер базового типа * индекс
Если указать неправильный индекс, программа попытается получить полный доступ к содержимому ячейки памяти, которая ей по сути не принадлежит. В результате этого произойдёт ошибка на этапе выполнения.
Слайд 10

Обращение к элементам cats[3] = 5; // четвертому по счёту элементу

Обращение к элементам

cats[3] = 5; // четвертому по счёту элементу массива

присвоено значение 5
cats[5] = 7; // шестому по счёту элементу массива присвоено значение 7
System.out.println(cats[3]); // отображение на экране консоли четвертого элемента
cats[6] = 7; // при выходе за границы массива выбрасывается исключение ArrayIndexOutOfBoundsException
Слайд 11

Количество элементов // количество элементов массива может быть явно запрошено через

Количество элементов

// количество элементов массива может быть явно запрошено через свойство

length.
int count = 10;
int[] ar = new int[count];
int size = ar.length; // 10
System.out.println("Размер массива: " + size);
Слайд 12

Вопрос Сколько места занимает в памяти массив такого вида? int[] ar = new int [10];

Вопрос

Сколько места занимает в памяти массив такого вида?
int[] ar = new

int [10];
Слайд 13

Размер массива в байтах Структура заголовка объектов в Java: https://habrahabr.ru/post/134102/

Размер массива в байтах

Структура заголовка объектов в Java:
https://habrahabr.ru/post/134102/

Слайд 14

Инициализация циклом int[] ar = new int[3]; ar[0] = 10; ar[1]

Инициализация циклом

int[] ar = new int[3];
ar[0] = 10;
ar[1] = 20;
ar[2] =

30;
int[] ar = new int[3];
for (int i = 0; i < ar.length; i++) {
ar[i] = (i + 1) * 10;
}
Слайд 15

Практика: gismeteo Упражнение: написать программу, которая рассчитает среднегодовую температуру (среднюю, максимальную

Практика: gismeteo

Упражнение: написать программу, которая рассчитает среднегодовую температуру (среднюю, максимальную и

минимальную), по предоставленным данным. Между какими двумя месяцами года происходит максимальный перепад средних температур?
Слайд 16

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

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

Слайд 17

Заполнение массива

Заполнение массива

Слайд 18

Копирование данных

Копирование данных

Слайд 19

Сортировка данных в массиве

Сортировка данных в массиве

Слайд 20

Сравнение массивов

Сравнение массивов

Слайд 21

Пример кода https://git.io/vKUXM

Пример кода
https://git.io/vKUXM