Table of Contents
[ Введение | Основы | if/else | Циклы | Массивы | Графика | Анимация | Мышь | Клавиатура | Математика | Методы | Текст | Задачи ]
Java для школьников: урок 5
Массивы
Масcивы - это списки похожих объектов или типов данных. Они хранятся по номерам от 0 до некоторого максимального значения. Вот пример массива целых чисел (int). Обратите внимание на формат: фигурные скобки вокруг и запятые между элементами.
{ 12, 7, 32, 15, 113, 0, 7 }
Вот как элементы будут расположены в массиве по номерам:
Номер | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
Значение | 12 | 7 | 32 | 15 | 113 | 0 | 7 |
Номер элемента в массиве называется индексом. Чтобы получить значение элемента массива, надо после имени массива добавить индекс элемента в квадратных скобках []. Для примера, дадим массиву имя tab.
Объявление массива
Объявить массив можно двумя способами:
int tab[]; int[] tab;
Такое объявление сообщает компилятору, какой тип переменных будет храниться в массиве. Но сам массив пока не создается. Чтобы создать массив, нужно использовать ключевое слово “new”. Например, создадим массив, содержащий 7 целых значений:
int[] tab; tab = new int[7];
При создании элементы нашего массива получат начальное значение 0 (по умолчанию).
Массив можно объявить, создать и инициализировать одной инструкцией, например:
int[] tab = { 12, 7, 32, 15, 113, 0, 7 };
Обратите внимание на фигурные скобки вокруг списка значений массива и запятые между элементами.
Обращение к элементу массива
Чтобы получить элемент массива, мы просто добавляем к имени массива номер элемента в квадратных скобках, например tab[0].
Упражнения:
- Чему равно tab[0]?
- Какое значение содержит tab[5]?
Запомните - массивы начинаются с индекса 0. Так что пятый по счету элемент массива - это arrayName[4].
Вот формула:
n-тый элемент => arrayName[n-1]
Изменение значений элементов массива
Если Вы хотите изменить значения элементов массива, делайте так:
tab[3] = 56; tab[1] = 27;
Чтобы поместить элемент массива в другую переменную, поступайте следующим образом:
int val; val = tab[4];
Если Вы теперь напечатаете val (например printLine(val);), получится 113.
Достаточно теории, давайте напишем законченную программу!
void main() { // Объявляем, инициализируем массив int[] tab = { 12, 7, 32, 15, 113, 0, 7 }; // Печатаем значения for (int i = 0; i<7; i++) { printLine("Значение "+ i + " = " + tab[i]); } }
Упражнения:
- Правильные ли это инструкции?
- int[] numberArray[];
- String[] name;
- double price[]; price = new double[12];
- Какие значения по умолчанию получают переменные типов int, double, String, boolean?
Задачи
- Напишите программу, которая заполняет массив целыми числами от 1 до 100, а затем печатает их в обратном порядке.
- Реализуйте “решето Эратосфена” - алгоритм поиска простых чисел методом вычеркивания. Начните с массива, заполненного числами от 2 до, скажем, 100. Затем пройдите (в цикле) по массиву, вычеркивая (устанавливая в 0) элементы, кратные 2, то есть 4, 6, …100. Затем кратные 3 - 6, 9, …99. И так далее, пока есть что вычеркивать. Напечатайте все ненулевые элементы полученного массива. Это будет список простых чисел, не превосходящих 100.