На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Урок 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, циклы

Читайте также:




Заметки
Поля и методы в Java: правила доступа к полям


© upread.ru 2013-2020
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.