Шаг 13.
Язык программирования Java.
Массивы

На этом шаге мы рассмотрим массивы

Массив - это структура данных, в которой хранятся величины одинакового типа. Доступ к отдельному элементу массива осуществляется по целочисленному индексу. Массив объявляется следующим образом: сначала указывается тип массива, т.е. тип элементов, содержащихся в нем, затем следует пара пустых квадратных скобок, а после них - имя переменной. Ниже приведено объявление массива, состоящего из целых чисел.

   int[] a;

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

  a = new int[100];

В данном примере выделяется память для хранения массива, состоящего из 100 целых чисел. Отметим, что нумерация индекса массива в Java начинается с 0, а не с 1. В данном примере нумерация индексов массива равна 0..99. Длина массива не обязательно должна быть постоянной. Например:

  a = new int[n];

В данном примере создается массив из n элементов.

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


Пример 1. Создать массив чисел от 1 до 10 и вывести его содержимое на экран.

 public class PrimerFirst {
    public static void main(String[] args) {
	/*Объявление и создание массива, состоящего из 10 целых чисел*/
	int[] a = new int[10];

	/*Инициализация массива числами от 1 до 10*/
        for (int i = 0; i < 10; i++) {
            a[i] = i + 1;
        }

	/*Вывод содержимое массива на экран*/
        for (int i = 0; i < 10; i++) {
            System.out.print(a[i] + " ");
        }
    }
}

Проект можно взять здесь.


Рис. 1. Вывод программы


Пример 2. Создать массив из 10 произвольных чисел и вывести минимальное и максимальное значение в массиве.

 public class PrimerSecond {
    public static void main(String[] args) {
        /*Объявление и создание массива, состоящего из 10 произвольных чисел
								из диапазона [0;99]*/
	int[] a = new int[10];

	for (int i = 0; i < 10; i++) {
            a[i] = (int)(Math.random() * 100); /*Получение произвольного числа из
							диапазона [0;99]*/
        }

        int min = a[0]; /*Предположим, что минимальный элемент - это первый элемент.*/
        int max = a[0];/*Предположим, что максимальный элемент - это первый элемент.*/
        for (int i = 0; i < 10; i++) {
	    /*Если текущее минимальное значение больше i-ого элемента массива, то*/
            if (min > a[i]) {
                min = a[i];/*изменим минимальное значение на значение i-ого элемента*/
            }
	    /*Если текущее максимальное значение меньше i-ого элемента массива, то*/
            if (max < a[i]) {
                max = a[i];/*изменим макс. значение на значение i-ого элемента*/
            }
        }

	/*Выведим на экран содержимое массива*/
        System.out.print("array: ");
        for (int i = 0; i < 10; i++) {
            System.out.print(a[i] + " ");
        }
        System.out.println();


        System.out.println("min value: " + min); /*Выведим минимальное значение*/
        System.out.println("max value: " + max); /*Выведим максимальное значение*/
    }
}

Проект можно взять здесь.


Рис. 2. Вывод программы


Пример 3. Пусть у нас создан произвольный массив из 10 элементов. Нужно посчитать есть ли в массиве значение x, и если есть, то нужно указать количество вхождения этого значения.

 public class PrimerThird {
    public static void main(String[] args) {
        int x = 10;

	/*Создание и инициализирование массива произвольными числами*/
	int[] a = new int[10];
        for (int i = 0; i < 10; i++) {
            a[i] = (int)(Math.random()*20);
        }

        int count = 0; /*Здесь храниться количество вхождения элемента x*/
        for (int i = 0; i <10; i++) {
            if (a[i] == x) { /*Если i-й элемент равен искомому x, то*/
                count++; /*увеличиваем количество на 1*/
            }
        }

	/*Выводим на экран содержимое массива*/
        System.out.print("Array: ");
        for (int i = 0; i < 10; i++) {
            System.out.print(a[i] + " ");
        }
        System.out.println();

        if (count == 0) { /*Если количество вхождения равно 0, то*/
	    /*значит нет элемента со значением x*/
            System.out.println("value " + x + " is not found");
        } else {
	    /*иначе, выводим сообщение, что элемент найден*/
            System.out.println("value " + x + " is found");
	    /*и выводим количество вхождения*/
            System.out.println("count: " + count);
        }
    }
}

Проект можно взять здесь.


Рис. 3. Вывод программы


На следующем шаге мы рассмотрим операции над массивами

Предыдущий шаг Содержание Следующий шаг