HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>for относится к низкоуровневым циклам. Он требует задания счетчика, правил его изменения и условия остановки. Было бы значительно удобнее обходить элементы коллекции напрямую, без счетчика. Многие языки программирования решают это введением специального вида цикла. В Java тоже есть такой:<em>for-each</em>.</p>
1 <p>for относится к низкоуровневым циклам. Он требует задания счетчика, правил его изменения и условия остановки. Было бы значительно удобнее обходить элементы коллекции напрямую, без счетчика. Многие языки программирования решают это введением специального вида цикла. В Java тоже есть такой:<em>for-each</em>.</p>
2 <p>С<em>for</em>этот пример выглядит так:</p>
2 <p>С<em>for</em>этот пример выглядит так:</p>
3 <p>Как видно из примера, код, использующий<em>for-each</em>, получается значительно чище, чем с использованием цикла<em>for</em>.<em>for-each</em>знает о том, как перебирать элементы и знает о том, когда они закончатся.</p>
3 <p>Как видно из примера, код, использующий<em>for-each</em>, получается значительно чище, чем с использованием цикла<em>for</em>.<em>for-each</em>знает о том, как перебирать элементы и знает о том, когда они закончатся.</p>
4 <p>Этот цикл отлично подходит для задач агрегации:</p>
4 <p>Этот цикл отлично подходит для задач агрегации:</p>
5 <p>С помощью<em>for-each</em>можно обходить строку посимвольно. В этом поможет метод toCharArray():</p>
5 <p>С помощью<em>for-each</em>можно обходить строку посимвольно. В этом поможет метод toCharArray():</p>
6 <h2>Применимость</h2>
6 <h2>Применимость</h2>
7 <p>В большинстве задач, использующих цикл, предпочтительнее<em>for-each</em>. Иногда его бывает недостаточно, и требуется ручное управление обходом. В таких случаях можно возвращаться к использованию<em>for</em>. Например, когда нужно идти не по каждому элементу массива, а через один:</p>
7 <p>В большинстве задач, использующих цикл, предпочтительнее<em>for-each</em>. Иногда его бывает недостаточно, и требуется ручное управление обходом. В таких случаях можно возвращаться к использованию<em>for</em>. Например, когда нужно идти не по каждому элементу массива, а через один:</p>
8 <p>Иногда нужно обходить массив в обратном порядке.<em>for-each</em>здесь бессилен и снова нужен<em>for</em>:</p>
8 <p>Иногда нужно обходить массив в обратном порядке.<em>for-each</em>здесь бессилен и снова нужен<em>for</em>:</p>
9 <p>Другие задачи вообще с массивами напрямую не связаны. К последним относятся ситуации, когда нужно перебирать числа в определенном диапазоне. В этом случае нет массива, по которому можно было бы пройтись с помощью<em>for-each</em>.</p>
9 <p>Другие задачи вообще с массивами напрямую не связаны. К последним относятся ситуации, когда нужно перебирать числа в определенном диапазоне. В этом случае нет массива, по которому можно было бы пройтись с помощью<em>for-each</em>.</p>
10 <p>Ну и наконец, встречаются задачи, в которых нужно во время обхода менять исходный массив:</p>
10 <p>Ну и наконец, встречаются задачи, в которых нужно во время обхода менять исходный массив:</p>
11  
11