Skip to content

Введение в массивы в Java

Массивы — это один из ключевых типов данных в Java. Они позволяют хранить несколько значений одного типа в одной структуре данных. Это особенно полезно, когда нужно работать с группой связанных данных, таких как список чисел, строки, или даже объекты.

Цель:

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

Что такое массив?

Массив в Java — это структура данных, которая: 1. Содержит несколько элементов одного типа (например, целые числа, строки и т.д.). 2. Имеет фиксированный размер, который задаётся при создании. 3. Использует индексы для доступа к каждому элементу. Индексация начинается с 0.

Пример:

Если массив содержит 5 элементов, их индексы будут от 0 до 4.

Объявление и создание массива

Синтаксис объявления массива:

тип[] имя_массива;
  • тип: определяет тип данных элементов массива (например, int, double, String).
  • []: указывает, что переменная является массивом.
  • имя_массива: это имя переменной массива.

После объявления необходимо инициализировать массив, указав его размер.

Пример 1: Объявление и инициализация массива

int[] numbers = new int[5];  // Массив из 5 элементов типа int

Здесь: - Массив numbers может хранить 5 целых чисел. - Каждый элемент массива инициализируется значением по умолчанию (для int это 0).

Пример 2: Объявление и инициализация массива с конкретными значениями

Массив можно сразу инициализировать конкретными значениями:

int[] numbers = {1, 2, 3, 4, 5};  // Массив из 5 элементов

Доступ к элементам массива

Чтобы получить доступ к элементу массива, используется его индекс. Индексы начинаются с 0.

Пример 3: Доступ к элементам массива

public class Main {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};

        System.out.println(numbers[0]);  // Выводит 10
        System.out.println(numbers[2]);  // Выводит 30
    }
}

Изменение элементов массива

Элементы массива можно изменять, используя их индексы.

Пример 4: Изменение элемента массива

public class Main {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        numbers[2] = 10;  // Изменяем значение элемента с индексом 2
        System.out.println(numbers[2]);  // Выводит 10
    }
}

Циклы и массивы

Часто массивы используются в комбинации с циклами, так как это позволяет выполнять однотипные операции над всеми элементами массива.

Пример 5: Использование цикла for для работы с массивом

public class Main {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        for (int i = 0; i < numbers.length; i++) {
            System.out.println(numbers[i]);
        }
    }
}

Здесь: - numbers.length возвращает количество элементов в массиве. - Цикл for проходит по каждому элементу массива и выводит его на экран.

Пример 6: Использование цикла for-each

Для более простого прохода по массиву можно использовать цикл for-each:

public class Main {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        for (int num : numbers) {
            System.out.println(num);
        }
    }
}

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

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

Синтаксис объявления двумерного массива:

тип[][] имя_массива;

Пример 7: Создание и инициализация двумерного массива

public class Main {
    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        System.out.println(matrix[0][0]);  // Выводит 1
        System.out.println(matrix[1][2]);  // Выводит 6
    }
}

Доступ к элементам двумерного массива

Чтобы получить доступ к элементу двумерного массива, нужно указать два индекса: первый для строки, второй для столбца.

Пример 8: Использование циклов для работы с двумерным массивом

public class Main {
    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        for (int i = 0; i < matrix.length; i++) {
            for (int j = 0; j < matrix[i].length; j++) {
                System.out.print(matrix[i][j] + " ");
            }
            System.out.println();  // Переход на новую строку
        }
    }
}

Результат:

1 2 3 
4 5 6 
7 8 9

Особенности массивов в Java

  1. Фиксированный размер: Размер массива задаётся при его создании и не может быть изменён.
  2. Индексация с 0: Элементы массива индексируются с 0.
  3. Массив — это объект: В Java массивы — это объекты, даже если их элементы имеют примитивный тип. Это означает, что у массивов есть такие методы, как length, и они хранятся в куче.
  4. Элементы массива по умолчанию: Если массив инициализируется без явных значений, его элементы получают значения по умолчанию (например, 0 для чисел, null для объектов).

Пример 9: Работа с массивом объектов

Массивы могут хранить объекты. Рассмотрим пример работы с массивом строк:

public class Main {
    public static void main(String[] args) {
        String[] names = {"Alice", "Bob", "Charlie"};

        for (String name : names) {
            System.out.println(name);
        }
    }
}

Заключение

  • Массивы — это основополагающая структура данных в Java, позволяющая хранить наборы значений одного типа.
  • Работа с массивами включает их создание, инициализацию, доступ к элементам, изменение элементов и использование циклов для их обработки.
  • Массивы могут быть как одномерными, так и многомерными, что позволяет представлять данные более сложной структуры.

Массивы обеспечивают эффективное управление данными, но из-за фиксированного размера могут быть не всегда удобны. Для динамического управления коллекциями данных можно использовать классы из пакета java.util, такие как ArrayList.

пример

https://gitlab.com/synergy9980417/tema2_urok5