Массивы

Java-массивы - это контейнеры для хранения определенного числа элементов в виде линейного хранилища. Чтобы создать массив, Вам необходимо объявить переменную типа массив и проинициализировать ее новым массивом, например:

int[] intarray = new int[100]; //массив из 100 целых чисел

Имя типа массива состоит из имени типа элементов массива, за которым следуют квадратные скобки, например:int[], double[], String[], Agent[]. Размер массива не является частью его типа. Распределение фактического размера выделяемой памяти для элементов массива осуществляется с помощью выражения инициализации new int[100], и именно здесь и задается размер массива. Обратите внимание, что пока Вы не проинициализируете массив, он будет равен null, и Вы не сможете получить доступ к его элементам.

Аналогичное графическое объявление массива из 100 целочисленных элементов Вы можете увидеть на приведенном рисунке. Используйте переменную или параметр, выберите опцию Другой в свойстве Тип и введите тип массива в поле справа.

Не обращайте внимания на флажок Массив в свойствах параметра: этот флажок выбирает для параметра тип HyperArray, используемый в системной динамике, но не делает его Java массивом.

Переменная-массив, объявленная графически

В случае такой инициализации массива всем его численным элементам будет присвоено значение 0, элементам логического типа boolean- значение false, а элементам всех остальных типов (включая String) - null. Другой способ - явно задать начальные значения для всех элементов массива. Синтаксис в этом случае будет следующий:

int[] intarray = new int[] { 13, x-3, -15, 0, max{ a, 100 ) };

Размер массива в данном случае определяется количеством выражений в скобках. Чтобы получить размер существующего массива вам необходимо ввести <имя массива>.length, например:

intarray.length

Чтобы обратиться к iому элементу массива, необходимо ввести:

intarray[i]

Итерация по элементам массива осуществляется по индексу. Следующий цикл увеличивает значение каждого элемента массива на единицу (обратите внимание, что индексы элементов массива начинаются с 0):

for( int i=0; i<intarray.length; i++ ) {
    intarray[i]++;
}

Java также поддерживает упрощенную форму цикла for для массивов. Следующий код вычисляет сумму элементов массива:

int sum = 0;
for( int element : intarray ) {
   sum +=  element;
}

Массивы могут быть многомерными. Следующий фрагмент кода создает двумерный массив значений типа double и инициализирует его в цикле:

double[][] doubleArray = new double[10][20];
for( int i=0; i<doubleArray.length; i++ ) {
    for( int j=0; j<doubleArray[i].length; j++ ) {
        doubleArray[i][j] = i * j;
    }
}

Многомерный массив можно рассматривать как массив массивов. Массив, проинициализированный  как new double[10][20] является массивом из 10 массивов, каждый из которых хранит по 20 значений. Обратите внимание, что doubleArray.length возвращает 10, а doubleArray[i].length возвращает 20.