Java-массивы — это контейнеры для хранения определенного числа элементов в виде линейного хранилища. Чтобы создать массив, Вам необходимо объявить переменную типа массив и проинициализировать ее новым массивом, например:
int[] intarray = new int[100]; // массив из 100 целых чисел
Имя типа массива состоит из имени типа элементов массива, за которым следуют квадратные скобки, например:int[], double[], String[], Agent[]. Размер массива не является частью его типа. Распределение фактического размера выделяемой памяти для элементов массива осуществляется с помощью выражения инициализации new int[100], и именно здесь и задается размер массива. Обратите внимание, что пока Вы не проинициализируете массив, он будет равен null, и Вы не сможете получить доступ к его элементам.
Аналогичное графическое объявление массива из 100 целочисленных элементов Вы можете увидеть на приведенном рисунке. Используйте переменную или параметр, выберите опцию Другой в свойстве Тип и введите тип массива в поле справа.
В случае такой инициализации массива всем его численным элементам будет присвоено значение 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 значений типа double. Обратите внимание, что doubleArray.length возвращает 10, а doubleArray[i].length возвращает 20.
-
Как мы можем улучшить эту статью?
-