018 Java Array

Массивы в Java — введение в Java 018 #

Давайте представим себе книжную полку на которой стоит множество книг. Или камеру хранения на вокзале со множеством ячеек. У каждой ячейки есть номер и в каждой из них может находиться чемодан.

Массив в реальной жизни

Массив в реальной жизни - камера хранения

В Java тоже есть похожие “книжные полки” или “камеры хранения”. Называются они массивами и в массиве мы можем хранить множество переменных одного типа. То есть на книжной полке с книгами не может стоять любимая ваза. Только книги. Если вазы так нужны, то мы можем выделить для всех ваз отдельную полку.

Массив в реальной жизни - книжная полка

Массив в реальной жизни

Java - это строго типизированный язык программирования. И именно здесь она проявляет строгость. Данные одного типа можно хранить только с данными этого же типа.

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

Пример объявления(декларации) dataType[] arrayName;

int[] myArray;
String[] user;
double[] gpsPoints;
boolean[] truthTable;
char[] cyrillicAlphabet;

Срабатывает и такой синтаксис объявления массива dataType arrayName[];:

int myArray[];
String user[];
double gpsPoints[];
boolean truthTable[];
char cyrillicAlphabet[];

Этот синтаксис наследован от языка C, который является родным папой Явы. Его можно встретить, это не является ошибкой. Но рекомендуется использовать первый вариант.

Инициализация происходит с помощью знакомого нам по Scanner оператора new, массивы также можно объявлять и инициализировать одновременно:

<<ИмяУжеОбъявленнойПеременной>> = new <<типДанных>> <<ДлинаМассива>>
int[] field;
field = new int[10]; //в массиве 10 ячеек.
String[] fourSeasons = new String[] {"Vivaldi", "Tchaikovsky", "Astor Piazzolla", "Stephen Edwin King"};

int[] numberFibonacci = new int[] {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144}

String[] germanCity = new String[] {"Berlin", "München", "Dresden","Hamburg","Köln","Potsdam"}

То есть мы можем задать пустой массив определённого размера или заполненный массив, где длина массива очевидна. Инициализированный массив не может быть неопределённого размера.

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

public static void germanCity() {
	String[] germanCity = new String[]{"Berlin", "München", "Dresden", "Hamburg", "Köln", "Potsdam"};
	int allGermanCity = germanCity.length;
	int allLetter = 0;
	for (int i = 0; i < allGermanCity - 1; i++) {
	allLetter = allLetter + germanCity[i].length();
	}
	System.out.println("allGermanCity: " + allGermanCity);
	System.out.println("allLetter: " + allLetter);
}

Дополнительные материалы #

Полезно и обязательно стоит почитать:

  1. Официальный сайт - https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
  2. Русскоязычная адоптация - https://javarush.ru/groups/posts/massivy-java
  3. https://www.baeldung.com/java-arrays-guide

Домашнее задание #

Постарайтесь не гуглить чужие решения. Все нужные знания у вас есть. Гуглите методы, которые вам могут понадобиться:

  1. Заполните массив случайным числами и выведете максимальное, минимальное и среднее значение. Для генерации случайного числа используйте метод Math.random(), который возвращает значение в промежутке [0, 1].
  2. Напишите программу, которая выводит на консоль простые числа в промежутке от [2, 100]. Используйте для решения этой задачи оператор “%” (остаток от деления) и циклы.