Массив – это индексированная последовательность (или индексированный набор) значений одного и того же типа.




В Java все массивы динамические — память под них выделятся в процессе выполнения программы.

Java поддерживает следующие правила для массивов:

1. Чтобы в программе завести массив используются правила декларирования, создания и инициализации массива

2. Чтобы обработать i-ый элемент массива а,

нужно использовать нотацию (обозначение) а[i].

3. Индексы в массивах начинаются с нуля.

int N = 10; // сначала задаем размер массива

double[] a; // затем объявляем тип и имя массива - декларация массива

a = new double[N]; // наконец, создаем в оперативной памяти массив

for (int i = 0; i < N; i++) // инициализация массива

a[i] = 0.0; // всем элементам присваивается 0.0

То же самое можно записать более компактно:

• Декларировать, создать и инициализировать в одной строке (по умолчанию все элементы Java проинициализирует нулями)

int N = 10; // размер массива

double[] a = new double[N]; // декларация, создание и инициализация

 

Эти же правила более подробно (из книги Васильева):

2. Создание массива можно условно разделить на два этапа. Во-первых, объявляется переменная массива, которой впоследствии в качестве значения присваивается ссылка на массив. Во-вторых, с помощью оператора new для массива выделяется место. Результат (ссылка на массив) записывается в переменную массива.

3. При объявлении переменной массива после идентификатора типа данных указываются пустые квадратные скобки. Количество пар пустых скобок соответствует размерности массива. При создании массива после оператора new указывается тип элементов массива и в квадратных скобках — размер массива по каждой из размерности.

4. При создании массива его элементы можно инициализировать (по умолчанию элементы созданного массива обнуляются: для числовых массивов начальные значения полагаются равными 0, для строковых массивов – пустой или «нулевой» строке “”, для булевых массивов – всем элементам в начале присваивается false). Можно задать начальный список значений элементов массива - список инициализации, который указывается в фигурных скобках через запятую. Этот список может указываться в команде объявления переменной массива после имени переменной (через оператор присваивания). Можно также указать список значений сразу после квадратных скобок после идентификатора типа в инструкции выделения памяти под массив (оператором new). В этом случае в квадратных скобках размер массива не указывается (он определяется автоматически по количеству значений в списке инициализации).

5. Обращение к элементу массива выполняется в следующем формате: имя массива и в квадратных скобках индекс элемента. Индекс по каждой из размерностей указывается в отдельных квадратных скобках. Индексация элементов массива всегда начинается с нуля.

6. В Java выполняется проверка на предмет выхода индекса элемента массива за допустимые границы. Длину массива (количество элементов) можно получить с помощью свойства length (указывается через точку после имени переменной массива).

 

Пример1:

 

int[] mas1 = {10,20,30}; // сразу (при объявлении) задание значений элементов массива
int[] mas2 = new int[3];

А вот так мы можем положить в массив mas2 тот же набор значений, что хранится в mas1:

mas2[0] = mas1[0] // т.е. 10;mas2[1] = mas1[1] // т.е. 20;mas2[2] = mas1[2] // т.е. 30;

 

А вот так можно вывести на экран (в одну строку)элементы любого массива с именем ar2:

for(int i = 0; i <= ar2.length - 1; i++) {
System.out.print(ar2[i] + " ");
}

Пример2: Скалярное произведение векторов

 

Задача1 Указать правильные объявления массива а (устно)

1. int[] a = new int[10];

2. int a[10] = new int[10];

3. int a[10];

4. []int a = [10]int;

5. int a[] = new int[10];

 

Задача 2 Написать код, создающий массив со значениями [27, 51, 33, -1, 101] и вывести их в столбец

 

Задача 3

Заполнить массив а[10] случайными целыми числами из промежутка [1,100] и вывести в одну строку через запятую

 

Задача 4

Написать код, создающий массив (например,со значениями [27, 51, 33, -1, 10]) и вычисляющий среднее значение элементов массива.

 

Задача 5

Написать код, создающий массив (например,со значениями [27, 51, 33, -1, 10]) и вычисляющий максимальный элемент. вывести индекс и значение элемента

 

 

Дома

Обычный уровень (А)

1.Добавить в условие задачи 3 вывод элементов массива в обратном порядке

2.Задан массив, например, а = {5,13,21,37,43,55,62,78,84,93}. Поменять в нем местами первый и последний элементы. (программа должна работать для любого массива)

3.Написать программу, сравнивающую два массива на их полное совпадение

4.Дана строка, например, s=”Вот новый поворот, и мотор ревет”. Создать массив а[], по элементам которого «разложить» пары символов строки (так а[0]=”Во”, а[1]=”т ” буква т с пробелом и т.д.). Если число символов нечетное, то в последний элемент добавлять точку.

 

Повышенный уровень (Б)

1.Задан массив а = {5,13,21,37,43,55,62,78,84,93}. Создать массив b, состоящий из тех же чисел, но перемешанных в произвольном порядке (указание: можно воспользоваться алгоритмом для тасования карт, рассмотренном на лекции)

2.Заданы два массива. Написать программу, определяющую, что эти массивы составлены из одного набора значений (т.е. один может быть получен, из другого с помощью перемешивания как в первой задаче)



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: