Одномерные массивы

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

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

Общая форма объявления одномерного массива выглядит следующим образом:

тип[] имяПеременной;

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

Квадратные скобки можно ставить перед переменной или после нее. Но более правильным вариантом считается указание скобок перед переменной - таким образом тип и скобки находятся в одном месте, что позволяет с первого взгляда понять, что перед вами массив такого-то типа:

int monthDays[];
double[] monthSalaries;

2. Инициализация массива с помощью ключевого слова new

Когда массив объявлен, память под него еще не выделена. Для выделение памяти под массив используется ключевое слово new, после которого опять указывается тип массива и в квадратных скобках его размер:

имяПеременной = new тип[размер];

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

int[] values = new int[45];

Рассмотрим пример объявления массива типа int размером 12 на данном примере. После выполнения строки int[] monthDays = new int[12] массив из 12 элементов создан. Каждому элементу присваивается значение по умолчанию для заданного типа. Для типа int это ноль. Для обращения к отдельному элементу массива после имени массива в квадратных скобочках задаем индекс элемента. Таким образом мы можем обратиться к элементу массива для изменения или получения его значения:

public class Array1 {
    public static void main(String[] args) {
        int[] monthDays = new int[12];
        monthDays[0] = 31;
        monthDays[1] = 28;
        monthDays[2] = 31;
        monthDays[3] = 30;
        monthDays[4] = 31;
        monthDays[5] = 30;
        monthDays[6] = 31;
        monthDays[7] = 31;
        monthDays[8] = 30;
        monthDays[9] = 31;
        monthDays[10] = 30;
        monthDays[11] = 31;
        System.out.println("B апреле " + monthDays[3] + " дней.");
    }
}

3. Инициализация массива с помощью блока для инициализации

Если заранее известны значения для каждого элемента массива, можно использовать блок для инициализации массива. Вместо new int[12], в фигурных скобках через запятую перечисляются значения элементов массива. Размер массива выводится компилятором из количества указанных элементов:

public class Array2 {
    public static void main(String[] args) {
        int[] monthDays = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        System.out.println("B апреле " + monthDays[3] + " дней.");
    }
}

4. Безымянный массив

Существует еще и третья форма объявления массива - безымянный массив. Он может использоваться в двух случаях.

Первый - вы объявили и инициализировали массив testScores размера четыре, но потом по какой-то причине он должен быть изменен - он должен содержать три элемента. Использовать повторно форму для инициализации массива нельзя - будет ошибка компиляции:

int[] testScores = {1, 2, 3, 4};
...
testScores = {4, 7, 2}; //ошибка компиляции

Но можно использовать безымянный массив, который создаст новый массив в памяти. Форма написания безымянного массива - это микс первых двух:

testScores = new int[]{4, 7, 2};

Второй случай использования безымянного массива - это передача массива в метод. В следующем примере метод print принимает на входа массив типа int. При вызове метода в качестве аргумента можно передать безымянный массив.

public class Array3 {
    public static void main(String[] args) {
        int[] testScores = {1, 2, 3, 4};
        for (int element : testScores) {
            System.out.print(element + " ");
        }
        System.out.println();
        testScores = new int[]{4, 7, 2};
        for (int element : testScores) {
            System.out.print(element + " ");
        }
        System.out.println();

        print(new int[]{4, 6, 2, 3});
    }

    public static void print(int[] array) {
        for (int element : array) {
            System.out.print(element + " ");
        }
    }
}
Read also:
Comments