English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по основам Java

Java Управление потоком

Java Массив

Java Ориентирован на объекты (I)

Java Ориентирован на объекты (II)

Java Ориентирован на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map коллекция

Java Set коллекция

Java Ввод/вывод (I/O)

Java Reader/Writer

Другие темы Java

Массивы (Arrays) Java

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

 Массив является集合ом аналогичных данных. Это контейнер, который используется для хранения данных единого типа (значений). Например, вы можете создать массив, который может хранить 100 значений типа int.

В Java, массив является базовым конструктивом, который позволяет вам хранить и доступа к的大量 обычных значений.

Как объявить массив?

В Java, вот как мы объявляем массивы.

dataType[] arrayName;

Давайте приведем пример

double[] data;

 Здесь data является массивом, который может хранить значения типа double.

Но, сколько элементов он может容纳?

 Хороший вопрос! Нам нужно分配 память для массива. Память определит количество элементов, которые может容纳 массив.

data = new Double[10];

 Здесь размер массива составляет 10. Это означает, что он может容纳 10 элементов (10 значений двойной точности). Размер массива также называется его длиной.

Внимание:После того как длина массива определена, изменить ее в программе нельзя.

Давайте приведем еще один пример:

int[] age;
age = new int[5];

age — это массив. Он может容纳 5 значений типа int.

 В Java мы можем объявить и allocate память для массива в одном выражении. Например:

int[] age = new int[5];

Индекс массива в Java

 В Java каждый элемент массива связан с числом. Это число называется индексом массива. Мы можем использовать эти индексы для доступа к элементам массива. Например:

int[] age = new int[5];
Индекс массива в Java

Здесь у нас есть массив длиной 5. На рисунке мы можем видеть, что каждый элемент состоит из числа (индекса массива). Индекс массива всегда начинается с 0.

Теперь мы можем использовать индексы для доступа к элементам массива. Например, чтобы访问 первый элемент массива, мы можем использовать age[0], для второго элемента использовать age[1] и так далее.

ВниманиеЕсли длина массива равна n, то первый элемент массива будет arrayName[0], а последний элемент будет arrayName[n-1].

Если мы не сохраняем любое значение в массиве, массив будет хранить некоторые mặc địnhные значения (0 для типа int, false для логического типа). Например:

class ArrayExample {
    public static void main(String[] args) {
    
        // Создание массива длиной 5 
        int[] age = new int[5];
     
        // Доступ к каждому элементу массива по индексу
        System.out.println(age[0]);
        System.out.println(age[1]);
        System.out.println(age[2]);
        System.out.println(age[3]);
        System.out.println(age[4]);
    }
}

Вывод:

0
0
0
0
0

 В примере выше мы создали массив с именем age. Но мы не присвоили ему значение. Поэтому, когда мы посещаем элементы массива, на экран выводятся mặc định.

Здесь мы индивидуально посещаем элементы массива. Есть лучше способ использовать цикл (обычноДля цикла for)доступ к элементам массива. Например:

class ArrayExample {
    public static void main(String[] args) {
        // Создание массива длиной 5
        int[] age = new int[5];
        // Использование цикла for для доступа к элементам
        for (int i = 0; i < 5; ++i) {
            System.out.println(age[i]);
        }
    }
}

Вывод:

0
0
0
0
0

Как инициализировать массив в Java?

 В Java мы можем инициализировать массив в процессе объявления, а также в любое другое время в зависимости от необходимости в программе.

Инициализация массива в процессе объявления

 Вот как можно инициализировать массив в процессе объявления.

int[] age = {12, 4, 5, 2, 5};

Эта строка создает массив с именем age и инициализирует его значениями, предоставленными в квадратных скобках.

 Длина массива определяется количеством значений, разделенных запятыми в квадратных скобках. В нашем примере, длина age составляет 5.

Инициализация массива в Java

Позвольте нам написать простую программу для печати элементов массива.

class ArrayExample {
    public static void main(String[] args) {
        // Создание массива
        int[] age = {12, 4, 5, 2, 5};
        //Доступ к элементам массива через значение индекса массива
        for (int i = 0; i < 5; ++i) {
            System.out.println("Индекс элемента " + i +": " + age[i]);
        }
    }
}

Вывод:

Индекс элемента 0: 12
Индекс элемента 1: 4
Индекс элемента 2: 5
Индекс элемента 3: 2
Индекс элемента 4: 5

Как получить доступ к элементам массива?

Как уже было сказано, мы можем легко получить доступ к элементам массива и изменить их с помощью числовых индексов. Например,

class ArrayExample {
    public static void main(String[] args) {
        int[] age = new int[5];
        //Вставка 14 в третий элемент
        age[2] = 14;
        //Вставка 34 в первый элемент
        age[0] = 34;
        for (int i = 0; i < 5; ++i) {
            System.out.println("Индекс элемента " + i +": " + age[i]);
        }
    }
}

Вывод:

Индекс элемента 0: 34
Индекс элемента 1: 0
Индекс элемента 2: 14
Индекс элемента 3: 0
Индекс элемента 4: 0

Пример: массив Java

 Ниже приведен пример программы, которая вычисляет сумму и среднее значение значений, хранящихся в массиве типа int.

class SumAverage {
    public static void main(String[] args) {
        int[] numbers = {2, -9, 0, 5, 12, -25, 22, 9, 8, 12};
        int sum = 0;
        Double average;
     
        //Используется для доступа к элементам в каждом цикле
        for (int number : numbers) {
            sum += number;
        }
     
        int arrayLength = numbers.length;
        //sum и длина массива преобразованы в double, так как среднее значение average является double
        average = ((double)sum / (double)arrayLength);
        System.out.println("Сумма = " + sum);
        System.out.println("Среднее значение = " + average);
    }
}

Вывод:

Сумма = 36
Среднее значение = 3.6

В примере, приведенном выше, мы создали массив с именованными числами. Мы используем цикл for...each для доступа к каждому элементу массива. Чтобы узнать больше о цикле for...each, пожалуйста, посетитеJava цикл for ... each.

В цикле мы вычисляем сумму каждого элемента. Обратите внимание на эту строку:

int arrayLength = number.length;

Здесь мы используем атрибут length массива для вычисления размера массива. Затем мы используем следующую формулу для вычисления среднего значения:

average = ((double)sum / (double)arrayLength);

Как вы видите, мы преобразуем значения int в double. В Java это называется типовым преобразованием. Для получения дополнительной информации о типовых преобразованиях посетитеJava типовые преобразования.

Многомерные массивы

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

double[][] matrix = {{1.2, 4.3, 4.0}, 
      {4.1, -1.1}
};

Здесь мы создаем многомерный массив matrix. Это двухмерный массив. Для получения дополнительной информации посетитеJava многомерные массивы.