Массивы Java
Массивы используются для хранения нескольких значений в одной переменной вместо объявления отдельных переменных для каждого значения.
Чтобы объявить массив, определите тип переменной с помощью квадратных скобок:
String[] cars;
Теперь мы объявили переменную, которая содержит массив строк. Чтобы вставить в него значения, мы можем использовать литерал массива — поместите значения в список, разделенный запятыми, внутри фигурных скобок:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Чтобы создать массив целых чисел, вы можете написать:
int[] myNum = {10, 20, 30, 40};
Примечание. Индексы массива начинаются с 0: [0] — это первый элемент. [1] — второй элемент и т. д.
Доступ к элементам массива
Вы получаете доступ к элементу массива, обращаясь к номеру индекса.
Этот оператор получает доступ к значению первого элемента в cars:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; System.out.println(cars[0]); // Outputs Volvo
Изменить элемент массива
Чтобы изменить значение определенного элемента, обратитесь к номеру индекса:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; cars[0] = "Opel"; System.out.println(cars[0]); // Now outputs Opel instead of Volvo
Длина массива
Чтобы узнать, сколько элементов содержит массив, используйте свойство length
, например:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; System.out.println(cars.length); // Outputs 4
Цикл через массив
Вы можете перебирать элементы массива с помощью цикла for
и использовать свойство length
, чтобы указать, сколько раз должен выполняться цикл.
В следующем примере выводятся все элементы массива cars.
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; for (int i = 0; i < cars.length; i++) { System.out.println(cars[i]); }
Использовать для каждого
Существует также цикл «для каждого», который используется исключительно для перебора элементов в массивах.
for (type variable : arrayname) { ... }
Если вы сравните цикл for
и цикл for-each
, вы увидите, что метод for-each
легче написать, он не требует счетчика (используется свойство length) и более читаем.
Многомерные массивы
Многомерный массив — это массив, содержащий один или несколько массивов.
Чтобы создать двумерный массив, добавьте каждый массив в собственный набор фигурных скобок.
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} };
myNumbers теперь представляет собой массив с двумя элементами в качестве элементов.
Чтобы получить доступ к элементам массива myNumbers, укажите два индекса: один для массива и один для элемента внутри этого массива. Этот пример обращается к третьему элементу (2) во втором массиве (1) myNumbers:
int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} }; int x = myNumbers[1][2]; System.out.println(x); // Outputs 7
Мы также можем использовать for loop
внутри другого for loop
, чтобы получить элементы двумерного массива (нам все еще нужно указывать на два индекса):
public class MyClass { public static void main(String[] args) { int[][] myNumbers = { {1, 2, 3, 4}, {5, 6, 7} }; for (int i = 0; i < myNumbers.length; ++i) { for(int j = 0; j < myNumbers[i].length; ++j) { System.out.println(myNumbers[i][j]); } } } }