| Программирование на языке Java |
| Массивы |
| Для объявления типа массива используются квадратные скобки. В приведенной ниже строке объявляется переменная monthdays, тип которой—"массив целых чисел типа int". int month days []; Для того, чтобы за резервировать память под массив, используется специальный оператор new. В приведенной ниже строке кода с помощью оператора new массиву month_days выделяется память для хранения двенадцати целых чисел. month days = new int [12]; Итак, теперь monthdays—это ссылка на двенадцать целых чисел. Ниже приведен пример, в котором создается массив, элементы которого содержат число дней в месяцах года (невисокосного). class Array { public static void main (String args []) { int month days[]; month days = new int[12]; month d ays[0] = 31; month days[1] = 28; month days[2] = 31; month days[3] = 30; month days[4] = 31; month days[5] = 30; month days[6] = 31; month days[7] = 31; month days[8] = 30; month days[9] = 31; month days[10] = 30; month days[11] = 31; System.out.println("April has " month days[3] " days.");При запуске эта программа печатает количество дней в апреле, как это показано ниже. Нумерация элементов массива в Java начинается с нуля, так что число дней в апреле—это month_days [3]. С: \> April java Array has 30 days.
Имеется возможность автоматически инициализировать массивы способом, во многом напоминающим инициализацию переменных простых типов. Инициализатор массива представляет собой список разделенных запятыми выражений, заключенный в фигурные скобки. Запятые отделяют друг от друга значения элементов массива. При таком способе создания массив будет содержать ровно столько элементов, сколько требуется для хранения значений, указанных в списке инициализации.class AutoArray { public static void main(String args[]) { int month days[] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; System.out.println("April has " month days[3] " days."); } В результате работы этой программы, вы получите точно такой же результат, как и от ее более длинной предшественницы. Java строго следит за тем, чтобы вы случайно не записали или не попытались получить значения, выйдя за границы массива. Если же вы попытаетесь использовать в качестве индексов значения, выходящие за границы массива—отрицательные числа либо числа, которые больше или равны количеству элементов в массиве, то получите сообщение об ошибке времени выполнения. В главе 10 мы подробно расскажем о том, что делать при возникновении подобных ошибок. |
