Техники инициализации массивов на Java

JavaJavaBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете различные способы инициализации массивов в Java. Вы также научитесь использовать класс Scanner для получения ввода от пользователя, как использовать вложенные циклы для инициализации двумерного массива, как инициализировать массив при объявлении и как использовать различные методы, такие как Arrays.fill(), Arrays.setAll() и ArrayUtils.clone().


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["Object-Oriented and Advanced Concepts"]) java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/DataStructuresGroup(["Data Structures"]) java(("Java")) -.-> java/ProgrammingTechniquesGroup(["Programming Techniques"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/variables("Variables") java/BasicSyntaxGroup -.-> java/for_loop("For Loop") java/DataStructuresGroup -.-> java/arrays("Arrays") java/DataStructuresGroup -.-> java/arrays_methods("Arrays Methods") java/ProgrammingTechniquesGroup -.-> java/lambda("Lambda") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("User Input") subgraph Lab Skills java/data_types -.-> lab-117460{{"Техники инициализации массивов на Java"}} java/variables -.-> lab-117460{{"Техники инициализации массивов на Java"}} java/for_loop -.-> lab-117460{{"Техники инициализации массивов на Java"}} java/arrays -.-> lab-117460{{"Техники инициализации массивов на Java"}} java/arrays_methods -.-> lab-117460{{"Техники инициализации массивов на Java"}} java/lambda -.-> lab-117460{{"Техники инициализации массивов на Java"}} java/user_input -.-> lab-117460{{"Техники инициализации массивов на Java"}} end

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

Перед инициализацией массива нам необходимо знать, как объявить массив. Объявление означает определение имени переменной и типа данных элементов, которые будут храниться в массиве. Общая синтаксис объявления массива показана в следующем коде:

datatype[] variableName;

Инициализация массива - это установка начальных значений для элементов массива. Мы можем инициализировать массив различными способами, описанными ниже.

Инициализация всех элементов массива нулями

Для инициализации массива, в котором все элементы равны 0, нам нужно только объявить массив и инициализировать его нужным размером с использованием ключевого слова new. Java по умолчанию инициализирует все элементы массива их значениями по умолчанию (0 для целых чисел, null для строк, false для логических значений и т.д.).

int[] intArray = new int[5];

Инициализация элементов массива по одному

Для инициализации каждого элемента массива по отдельности можно использовать цикл for для установки значений по индексам массива.

int[] intArray = new int[5];
for(int i = 0; i < intArray.length; i++) {
    intArray[i] = i + 1;
}

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

Мы можем объявить массив и инициализировать его одновременно всего одной строкой кода.

int[] intArray = {1, 2, 3, 4, 5};

Использование класса Scanner для ввода данных пользователем

Для инициализации массива с использованием ввода данных пользователем можно использовать класс Scanner для чтения ввода от пользователя.

Scanner input = new Scanner(System.in);
System.out.print("Enter array length: ");
int length = input.nextInt();

int[] intArray = new int[length];
for(int i = 0; i < length; i++) {
    System.out.print("Enter element " + (i + 1) + ": ");
    intArray[i] = input.nextInt();
}
input.close();

Инициализация двумерного массива

Можно использовать вложенные циклы для инициализации двумерного массива.

int[][] intArray = new int[3][3];
for(int i = 0; i < intArray.length; i++) {
    for(int j = 0; j < intArray[i].length; j++) {
        intArray[i][j] = i + j;
    }
}

Использование метода Arrays.fill()

Можно использовать метод Arrays.fill() для инициализации массива определенным значением.

int[] intArray = new int[5];
Arrays.fill(intArray, 5);

Использование метода Arrays.setAll()

Можно использовать метод Arrays.setAll() для инициализации массива с помощью функции-генератора (Generator Function).

int[] intArray = new int[5];
Arrays.setAll(intArray, (index) -> index * index);

Использование метода ArrayUtils.clone()

Можно использовать метод ArrayUtils.clone() для создания копии существующего массива.

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = ArrayUtils.clone(intArray);

Использование метода Arrays.copyOf()

Можно использовать метод Arrays.copyOf() для создания копии существующего массива.

int[] intArray = new int[] {1, 2, 3, 4, 5};
int[] copyArray = Arrays.copyOf(intArray, 8);

Резюме

В этом практическом занятии (lab) вы узнали различные способы инициализации массива на Java с использованием циклов for, одновременного объявления и инициализации, класса Scanner для ввода данных пользователем, инициализации при объявлении, методов Arrays.fill() и Arrays.setAll(), а также копирования массива с помощью методов ArrayUtils.clone() и Arrays.copyOf(). Теперь вы можете инициализировать массив различными способами в зависимости от потребностей вашей программы.