Существует еще один способ объявить и инициализировать одномерный массив: сразу с помощью прямого занесения в него набора конкретных значений уже на стадии инициализации. Это делается с помощью использования в инициализации пары фигурных скобок, в которых через запятую записаны заносимые в массив значение.
int [] c={7,7,3,9,6,-3,0,1};
Обратите внимание, что при таком способе инициализации массива вообще нет необходимости указывать в явном виде размер массива: количество значений, записанных в фигурных скобках, автоматически устанавливает и размер массива.
Разумеется, аналогичным образом можно объявлять и инициализировать и массивы для работы с другими типами значений:
double [] c=new double[7];
boolean [] k=new boolean[2];
String [] c=new String[12];
Нумерация ячеек массива
В языке Java нумерация ячеек массива происходит автоматически, при этом первая ячейка получает порядковый номер, равный 0! На это следует обращать внимание, чтобы как можно скорее перестать путаться:
· первая ячейка имеет порядковый номер, равный 0
|
|
· вторая ячейка имеет порядковый номер, равный 1
· третья ячейка имеет порядковый номер, равный 2
· четвертая ячейка имеет порядковый номер, равный 3
· и так далее…
Важно следить за этой, немного "неестественной" (с точки зрения наших привычек в "обычной жизни") особенностью языка Java; кстати, эта особенность имеется и во многих других современных языках.
Например, блок команд (фрагмент класса), заполняющий массив случайными однозначными положительными числами, будет выглядеть следующим образом:
int [] b;
b=new int[10];
for (int i=0; i<=9; i++)
b[i]=1+(int)(10*Math.random());
Как видите, квадратные скобки в имени массива используются для указания на порядковый номер (индекс) ячейки, к которой надо получить доступ. При этом индекс ячейки может быть и конкретным числом, и переменной (ее значение, разумеется, тоже должно указывать на индекс ячейки).
Обратите внимание: переменная-счетчик цикла принимает значения от 0 до 9 – что и соответствует точно 10 ячейкам одномерного массива b.
Разумеется, можно совместить в одной строке и объявление массива, и его инициализацию, что, кстати, обычно и делается:
int [] b=new int[10];
for (int i=0; i<=9; i++)
b[i]=(int)(10*Math.random());