[ Введение | Основы | 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].

Упражнения:

  1. Чему равно tab[0]?
  2. Какое значение содержит 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]);
    }
}

Упражнения:

  1. Правильные ли это инструкции?
    • int[] numberArray[];
    • String[] name;
    • double price[]; price = new double[12];
  2. Какие значения по умолчанию получают переменные типов int, double, String, boolean?

Задачи

  • Напишите программу, которая заполняет массив целыми числами от 1 до 100, а затем печатает их в обратном порядке.
  • Реализуйте “решето Эратосфена” - алгоритм поиска простых чисел методом вычеркивания. Начните с массива, заполненного числами от 2 до, скажем, 100. Затем пройдите (в цикле) по массиву, вычеркивая (устанавливая в 0) элементы, кратные 2, то есть 4, 6, ...100. Затем кратные 3 - 6, 9, ...99. И так далее, пока есть что вычеркивать. Напечатайте все ненулевые элементы полученного массива. Это будет список простых чисел, не превосходящих 100.

Перейдем к следующему уроку.

 
proj/lang/judo/tutorial-ru-005.txt · Последние изменения: 2007/03/10 04:28
 
Copyright (C) 1996-2013 Serge Vakulenko
serge@vak.ru