Оценить:
 Рейтинг: 3.5

Java за неделю. Вводный курс

Год написания книги
2018
<< 1 ... 9 10 11 12 13 14 15 16 17 ... 25 >>
На страницу:
13 из 25
Настройки чтения
Размер шрифта
Высота строк
Поля

if (a <5) return a*20;

else return a*10;

Если параметр не указан, происходит выход из подпрограммы без передачи какого-либо значения в вызывающую программу.

Глава 5. Массивы и строки

Массив – это упорядоченный набор однотипных данных, объединенных общим именем. Допустим, мы захотели сохранить возраст нескольких пользователей. Мы можем создать несколько переменных с именами userAge1, userAge2, userAge3 и так далее. Но в этом случае возникает проблема с обращением к переменным, если нужно перебрать все значения в цикле. Кроме того, при разработке программы мы должны точно знать, сколько пользователей у нас будет, и заранее объявить переменную для каждого из них.

Можно поступить более рационально и объявить массив данных с именем userAge. Для обращения к элементу набора применяется порядковый номер (индекс) элемента: userAge [i]. В языке Java индексация элементов начинается с нуля.

Элементом массива может быть другой массив, который, в свою очередь, тоже может состоять из массивов. Количество индексов, которые необходимо указать для однозначной идентификации элемента, называется размерностью массива. Размерность массива может быть произвольной, но на практике чаще всего применяются одномерные и двумерные массивы. Трехмерные массивы применяются намного реже.

5.1 Одномерные массивы

При создании массива объявляется переменная, которая не является массивом, а содержит ссылку на массив. Для создания собственно массива (выделения ячеек памяти) применяется служебное слово new:

int [] userAge;

userAge = new int [10];

В первой строке объявлена переменная userAge, которая является целочисленным массивом. Обратите внимание на квадратные скобки после ключевого слова int. Во второй строке выделяется память для хранения десяти целочисленных элементов массива, связанных с именем userAge.

Допускается сокращенная запись в одной строке:

int [] userAge = new int [10];

Количество элементов массива называется размером массива. Размер одномерного массива часто называют длиной. Индекс последнего элемента массива на единицу меньше длины. Для хранения массива в памяти отводится ровно столько места, сколько было заявлено при его создании.

Для определения размера массива следует обратиться к его свойству length:

int a = userAge. length;

5.1.1 Инициализация одномерного массива

При создании массива его ячейки автоматически заполняются нулями, если речь идет об элементах базовых типов, либо значениями null, если массив состоит из ссылок на другие объекты. Перед использованием в программе массив необходимо инициализировать – присвоить ячейкам массива осмысленные значения.

Можно инициализировать массив непосредственно во время объявления:

int [] userAge = {28,32,19,44,52};

Допускается равноценная, но более сложная синтаксическая конструкция:

int [] userAge = new int [] {28,32,19,44,52};

Аналогичным образом можно создать и инициализировать массив строковых значений:

String [] userName = {«Иван», «Петр», «Ольга», «Егор»};

Элементы массива можно инициализировать по отдельности:

userAge [0] = 28;

userAge [1] = 32;

Если массив должен содержать некие серийные данные, сформированные по определенному закону, то для инициализации массива удобно использовать цикл, последовательно перебирающий элементы массива.

5.1.2 Специальная форма оператора for

Специальная форма оператора for позволяет перебирать непосредственно элементы массива, не используя индексы. Конструкция оператора for в этом случае имеет вид:

for (тип переменная: массив) {

// Блок команд

}

Например, цикл для перебора значений массива userAge имеет вид:

for (int age: userAge) {

System.out.println (age);

}

В этом примере рабочая переменная age поочередно принимает значения всех элементов массива userAge. В теле цикла текущее значение переменной age выводится на печать. Таким образом, мы выводим на печать содержимое массива userAge.

При помощи специальной формы оператора for мы можем только читать текущие значения элементов массива. Для инициализации или модификации элементов массива следует использовать обычный цикл, в котором происходит перебор индексов массива в явном виде.

В примере из листинга 5.1 в первом цикле элементам массива even [] присваиваются четные значения от 2 до 20. Далее применяется специальная форма цикла for для вывода значений всех элементов массива на печать.

Листинг 5.1 Перебор элементов массива

public class Listing5_1 {

public static void main (String [] args) {

int [] even = new int [10];

// Инициализация массива

for (int i=0;i <10;i++) {

even [i] = i*2+2;

}

// Вывод значений элементов массива
<< 1 ... 9 10 11 12 13 14 15 16 17 ... 25 >>
На страницу:
13 из 25