Цикл for each в Java
Приветствуем Вас на странице блога Vertex Academy.
Вы уже используете циклы в написании программ?
- Если ответ "нет" - начните с прочтения вот этой статьи "Что такое циклы в Java?"
- Если ответ "да" - читаем статью ниже о цикле for each
Цикл for each :
- это разновидность цикла for
- используется для перебора элементов массива или коллекции
- впервые цикл for each появился в JDK5. В более ранних версиях JDK этого вида цикла не было.
Давайте посмотрим как выглядит общая форма цикла for и цикла for each.
1.Общая форма цикла for:
1 2 3 4 5 |
for (инициализация; условие; итерация) { // действия, которые выполняются } |
2.Общая форма цикла for each:
1 2 3 4 5 |
for (тип и название: название массива/коллекции) { // действия, которые выполняются } |
Внимание: в цикле for each тип должен соответствовать типу массива!
Чтобы понять в чем же все-таки отличие между этим 2 циклами, предлагаем решить одну и ту же задачу 2-мя способами:
1. С помощью цикла for
2. C помощью цикла for each
Задача №1
Необходимо перебрать все элементы массива и вывести в консоль.
Решение с помощью цикла for
1 2 3 4 5 6 7 8 9 10 |
class Test { public static void main(String[] args) { int[] array = {51,136, 387}; for (int i = 0; i < array.length; i++) { System.out.println(array[i]); } } } |
Если Вы запустите данный код, то в консоли Вы увидите следующее:
51
136
387
Решение с помощью цикла for each
1 2 3 4 5 6 7 8 9 10 |
class Test { public static void main(String[] args) { int[] array = {51,136,387}; for (int i:array) { System.out.println(i); } } } |
Если Вы запустите данный код, то в консоли Вы увидите следующее:
51
136
387
Как видите, цикл for each не требует ручного изменения переменной - шага для перебора. Цикл автоматически выполняет эту работу.
Внимание: в цикле for each тип должен соответствовать типу массива!
В приведенном примере массив у нас типа int. Поэтому в конструкции цикла for each мы написали:
1 |
for (int i:array) |
Задача №2
Необходимо перебрать все элементы коллекции.
Обратите внимание: при решении данной задачи используется Arraylist. Если Вы еще не знаете что это такое, прочитайте статью "Что такое Arraylist в Java".
1.Решение с помощью цикла for
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Test { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); list.add(51); list.add(136); list.add(387); for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } } } |
Если Вы запустите данный код, то в консоли Вы увидите следующее:
51
136
387
2.Решение с помощью цикла for each
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Test { public static void main(String[] args) { ArrayList list = new ArrayList<>(); list.add(51); list.add(136); list.add(387); for (Integer i:list) { System.out.println(i); } } } |
Если Вы запустите данный код, то в консоли Вы увидите следующее:
51
136
387
Как видите, цикл for each не требует ручного изменения переменной - шага для перебора. Цикл автоматически выполняет эту работу.
Так что цикл for each очень удобный, когда Вам необходимо вывести на экран все элементы массива/коллекции или перезаписать все элементы с одного массива/коллекции в другой.
Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля. Детальную информацию Вы можете найти у нас на сайте.