Массивы Java
Массивы Java
Массивы используются для хранения нескольких значений в одной переменной вместо объявления отдельных переменных для каждого значения.
Чтобы объявить массив, определите тип переменной с помощью квадратных скобок :
String[] cars;
Теперь мы объявили переменную, которая содержит массив строк. Чтобы вставить в него значения, мы можем использовать литерал массива — поместите значения в список, разделенный запятыми, внутри фигурных скобок:
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
Чтобы создать массив целых чисел, вы можете написать:
int[] myNum = {10, 20, 30, 40};
Доступ к элементам массива
Вы получаете доступ к элементу массива, обращаясь к номеру индекса.
Этот оператор получает доступ к значению первого элемента в cars:
Пример
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
System.out.println(cars[0]);
// Outputs Volvo
Примечание. Индексы массива начинаются с 0: [0] — первый элемент. [1] — второй элемент и т. д.
Изменить элемент массива
Чтобы изменить значение определенного элемента, обратитесь к номеру индекса:
Пример
cars[0] = "Opel";
Пример
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-Each
Существует также цикл for-each , который используется исключительно для перебора элементов в массивах:
Синтаксис
for (type variable : arrayname) {
...
}
В следующем примере выводятся все элементы массива cars с использованием цикла for-each :
Пример
String[] cars = {"Volvo", "BMW", "Ford", "Mazda"};
for (String i : cars) {
System.out.println(i);
}
Приведенный выше пример можно прочитать так: для каждого String
элемента (названного
i — как в
индексе) в cars выведите значение i .
Если вы сравните 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
Мы также можем использовать a for loop
внутри другого for loop
, чтобы получить элементы двумерного массива (нам все еще нужно указывать на два индекса):
Пример
public class Main {
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]);
}
}
}
}