Курс

"Программирование Java"

Массивы

Цикл foreach

Массив представляет набор однотипных значений

Объявление массива похоже на объявление обычной переменной, которая хранит одиночное значение, причем есть два способа объявления массива:

тип_данных название_массива[];

// либо

тип_данных[] название_массива;

Например, определим массив целых чисел:

int nums[];
int[] nums2;

После объявления массива инициализируем его:

int nums[];
nums = new int[10];  // массив из 10 int чисел

Создание массива производится с помощью следующей конструкции: new тип_данных[количество_элементов], где new - ключевое слово, выделяющее память для указанного в скобках количества элементов. Например, nums = new int[10]; - в этом выражении создается массив из десяти элементов int, и каждый элемент будет иметь значение по умолчанию - число 0 (0 - для числовых типов, для типа boolean это значение false, а для остальных объектов это значение null)

Также можно сразу при объявлении массива инициализировать его:

int[] nums = new int[5];   // массив из 5 чисел

Можно задать конкретные значения для элементов массива при его создании:

int[] nums2 = { 12, -6, 99, 0, 7, -88 };

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

int[] nums = new int[4];
// устанавливаем значения элементов массива
nums[0] = 1;
nums[1] = 2;
nums[2] = 4;
nums[3] = 100;

// получаем значение третьего элемента массива
System.out.println(nums[2]);    // 4

Индексация элементов массива начинается с 0, поэтому в данном случае, чтобы обратиться к четвертому элементу в массиве, нам надо использовать выражение nums[3].

И так как у нас массив определен только для 4 элементов, то мы не можем обратиться, например, к шестому элементу: nums[5] = 5;. Если мы так попытаемся сделать, то мы получим ошибку.

Длина массива

Важнейшее свойство, которым обладают массивы, является свойство length, возвращающее длину массива, то есть количество его элементов:

int[] nums = {11, 24, 43, 4, 5};
int length = nums.length;   // 5

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

int last = nums[nums.length-1];

 

Приложение

Пример 1:

import java.util.Scanner;

 

public class Main {

 

    public static void main(String[] args) {

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

        //пронумерованная последовательность однотипных значений

 

        //Первый способ определения и задания массива

        //double[] array = {100.5, 99, 100};

 

        //Обращение к эл-там массива

        //System.out.println( (int)array[0] + " " + array[2] );

        //System.out.println( array[0] );

 

        Scanner in = new Scanner(System.in);

        int n = in.nextInt();

        //Второй способ определения массива

        int[] array1 = new int[n];

        //Ввод значений эл-ов массива

        for (int i = 0; i < array1.length; i++) {

            array1[i] = in.nextInt();

        }

        //Вывод эл-ов массива

        for (int i = 0; i < n; i++) {

            System.out.println( array1[i] );

        }

    }

}

Пример 2:

import java.util.Scanner;

 

public class Main {

 

    public static void main(String[] args) {

 

        Scanner in = new Scanner(System.in);

        int n = in.nextInt();

        //Второй способ определения массива

        int[] array1 = new int[n];

 

        //Ввод значений эл-ов массива

        for (int i = 0; i < array1.length; i++) {

            array1[i] = in.nextInt();

        }

 

        //1.  Ввести n эл-тов целочисленного массива а.

        // Вывести все четные эл-ты на экран через пробел

        for (int i = 0; i < array1.length; i++) {

            if( array1[i] % 2 == 0){

                System.out.print( array1[i] + " " );

            }

        }

 

        System.out.println();

 

        //2. Ввести n эл-тов целочисленного массива а. Вывести все эл-ты,

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

        for (int i = 0; i < array1.length; i+=2) {

            System.out.print( array1[i] + " ");

        }

    }

}

Полезный код