Массивы. Цикл for-each

Массив — это последовательность фиксированной длины из элементов одного типа. Массивы используются, когда нужно хранить несколько значений.

int[] leapYears = {2000, 2004, 2008, 2012, 2016};

Массивы нумеруются с нуля.

System.out.println(leapYears[0]); // выведет 2000

Присвоить элементу массива новое значение можно так:

leapYears[0] = 1996;

Узнать количество элементов массива можно, прочитав его свойство length:

System.out.println(leapYears.length); // 5

Так как элементы массивов нумеруются с нуля, индекс (порядковый номер) последнего элемента будет равен length-1.

System.out.println(leapYears[leapYears.length-1]); // 2016

Можно пройтись по всем элементам массива в цикле.

int[] leapYears = {2000, 2004, 2008, 2012, 2016};

for (int year : leapYears) {
    System.out.println(year);
    /* Этот код будет выполнен столько раз,
       сколько в массиве элементов.
       Переменная year будет по очереди
       принимать значения этих элементов,
       в данном случае — 2000, 2004, 2008, 2012, 2016.
       Такой цикл подходит, когда нужно
       прочитать все элементы массива. */
}

for (int i = 0; i < leapYears.length; i++) {
    System.out.println(leapYears[i]);
    /* Здесь переменная i — счётчик —
       принимает по очереди значения
       от нуля до length-1, в данном случае —
       от нуля до четырёх.
       В таком цикле можно ещё и 
       присваивать новые значения 
       элементам массива. */
}

Оба варианта выведут:

2000
2004
2008
2012
2016

Если попробовать привести массив к строке, будет печально:

System.out.println(leapYears); // [I@d716361

[I — то, как массив int'ов представлен внутри Java, а шестнадцатеричное число после @ не несёт смысловой нагрузки. Чтобы вывести содержимое массива, используется метод toString из класса Arrays:

System.out.println(Arrays.toString(leapYears));
// [2000, 2004, 2008, 2012, 2016]

Можно сконструировать массив, не объявляя промежуточную переменную.

System.out.println(Arrays.toString(new int[]{1, 2, 3})); // [1, 2, 3]
System.out.println(Arrays.toString(new int[4])); // [0, 0, 0, 0]
System.out.println(Arrays.toString(new int[2]{0, 1})); // [0, 1]
System.out.println(Arrays.toString(new int[0])); // []
Комментарии к уроку

Сообщить об ошибке