Урок 9. Цикл For Each Java


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

Массив

Массив является чрезвычайно мощным инструментом, который позволяет хранить несколько объектов или примитивных типов данных в одном месте. Подробнее об этом вы можете прочитать на следующем уроке, посвященном массивам. А сейчас я просто дам вам достаточно, чтобы понять цикл For Each. В качестве примера массива представьте массив "persons", который внутренне содержит целую группу персон. Давайте посмотрим, как мы можем статически перебирать массив persons, который может содержать десять человек, используя цикл for Java, с которым я познакомил вас на предыдущем уроке:

for(int i=0; i<10; i++ ){
    persons[i].helloWorld();
}
Каждая итерация цикла будет увеличивать переменный целочисленный примитив i, который будет последовательно использоваться для доступа к каждому элементу в массиве persons.

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

Цикл for each

Цикл for-each по существу работает как упрощенный цикл for. Цикл for-each использует более простой и понятный синтаксис. Он делает всю грязную работу за кулисами.

for(Person person : persons){
    person.helloWorld();
}
Как вы можете видеть в примере выше, нам не нужно вводить размер массива persons. Цикл for-each будет удобно извлекать его для нас. Кроме того, нам не нужно индексировать и возиться с ячейками массива. Для каждой итерации по массиву он будет извлекать текущий объект person для нас, и мы можем удобно вызвать метод helloWorld() для каждого объекта Person.

Однако имейте в виду, что простота цикла for-each имеет свою цену. Нет такого понятия, как бесплатный обед! Он не так динамичен, как цикл for, поскольку всегда индексируется через каждую точку в массиве. При отсутствии переменной счетчика “i " вы не можете смотреть на каждую вторую ячейку, или каждую третью ячейку, или первую половину ячеек. Конечно, вы можете добавить дополнительную переменную счетчика – но это сделает преимущества упрощенного цикла for-each бесполезными. Даже не думай об этом!

Цикл for-each-это идеальный цикл для использования, когда вам просто нужно пройти через каждый элемент контейнера. На самом деле, это самый распространенный случай использования цикла, который делает цикл for-each наиболее часто используемым циклом в Java!
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, уроки по java, java, циклы




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




600 человек в день
С. Визгорев - AI Factory's Chess, уровень 10, 10 мая 2016
Воспроизведение mp3 на C#: пример и плеер