Массивы 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]);
      }
    }
  }
}