Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Учебник по массивам в Java: объявление, создание и инициализация с примерами кода

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

В Java массив — встроенная структура данных, хранящая последовательность элементов фиксированного размера, все одного типа. Элементы индексируются от 0. Массивы — объекты, наследующие от Object и реализующие Serializable и Cloneable, поэтому могут хранить примитивы или ссылки на объекты.

На практике массив позволяет заменить код вида:

x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;

на лаконичную индексированную форму:

x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;

Это руководство покрывает:

Наличие ссылки на массив позволяет эффективно циклом:

for(count=0; count<5; count++) { System.out.println(x[count]); }

Переменные массива

Использование массива в Java следует простому трёхшаговому процессу:

  1. Объявить тип массива.
  2. Создать (инстанцировать) массив с размером.
  3. Опционально: Инициализировать его элементы.

1) Объявление массива

Синтаксис:

<elementType>[] <arrayName>;

или

<elementType> <arrayName>[];

Пример:

int intArray[]; // объявляет массив для хранения int
int []intArray; // то же самое

2) Создание массива

Выделение памяти под массив:

arrayName = new dataType[size];

Пример:

intArray = new int[10]; // создаёт место для 10 целых

Комбинированное объявление и создание:

int intArray[] = new int[10];

3) Инициализация массива

Присвоение значений по отдельности:

intArray[0] = 1; intArray[1] = 2;

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

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

Создаёт массив длины 4 с заданными значениями.

Первая программа с массивом

Шаг 1: Скопируйте код в редактор.

class ArrayDemo{
    public static void main(String args[]){
        int array[] = new int[7];
        for (int count=0; count<7; count++){
            array[count] = count + 1;
        }
        for (int count=0; count<7; count++){
            System.out.println("array[" + count + "] = " + array[count]);
        }
        // System.out.println("Length of Array = " + array.length);
        // array[8] = 10;
    }
}

Шаг 2: Скомпилируйте и запустите. Вывод:

array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4
array[4] = 5
array[5] = 6
array[6] = 7

Шаг 3: Использование array.length возвращает размер массива.

Раскомментируйте строку 10 и запустите снова:

Length of Array = 7

Шаг 4: Java проверяет границы. Раскомментируйте строку 11 для исключения:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at ArrayDemo.main(ArrayDemo.java:11)
Command exited with non-zero status 1

В C это привело бы к тихому чтению/записи за границы.

Массивы передаются по ссылке

Параметры-массивы передаются по ссылке — любая модификация внутри метода влияет на исходный массив.

Пример:

class ArrayDemo {
    public static void passByReference(String a[]){
        a[0] = "Changed";
    }
    public static void main(String args[]){
        String []b = {"Apple","Mango","Orange"};
        System.out.println("Before Function Call " + b[0]);
        ArrayDemo.passByReference(b);
        System.out.println("After Function Call " + b[0]);
    }
}

Вывод:

Before Function Call Apple
After Function Call Changed

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

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

int twoD[][] = new int[4][5];

При выделении достаточно указать только первое (левое) измерение. Последующие могут выделяться позже, давая тонкий контроль над расположением в памяти.

Пример:

public class Guru99 {
    public static void main(String[] args) {
        // Создание 4x4 двумерного массива.
        int[][] twoD = new int[4][4];
        // Присвоение нескольких элементов.
        twoD[0][0] = 1;
        twoD[1][1] = 2;
        twoD[3][2] = 3;
        System.out.print(twoD[0][0] + " ");
    }
}

Вывод:

1

java

  1. Массивы в C#: объявление, инициализация и операции
  2. Освоение массивов в C++: объявление, инициализация и практические примеры
  3. Освоение многомерных массивов в C++: объявление, инициализация и циклы
  4. Массивы в C: объявление, инициализация и распространённые операции
  5. Многомерные массивы в Java: 2D и 3D примеры
  6. Техники копирования массивов в Java: подробное руководство
  7. Массивы в C++: объявление, инициализация и работа с указателями
  8. Создание массива объектов в Java: пошаговое руководство
  9. Ключевое слово static в Java: переменные, методы и блоки — практические примеры
  10. MATLAB: Мастерство работы с многомерными и специальными массивами