Вот как выполняется цикл for
вида
for (ForInit; ForCondition; ForUpdate)
Body
:
ForInit
выполняется ForCondition
- когда
false
, то Body
не выполняется и выполнение продолжается после цикла - , когда
true
, затем выполняется Body
, ForUpdate
выполняется и выполнение продолжается сшаг 2
«2 ветви» соответствуют двум вышеуказанным параметрам для ForCondition
.
«1 из 2 веток отсутствует» означает, что произошла только однаиз этих вариантов, либо первый, либо второй.
В отсутствие завершите пример , который включает тело вашего цикла, трудно ответить на ваш дополнительныйвопросы
Но странно - почему тогда другие циклы, которые всегда выполняются хотя бы раз, зеленые?
И все же довольно странно - почему другие циклы всегда зеленые?
Однако, учитывая, что Body
вашего цикла был выполнен, возможно, что в Body
b есть выход из циклаefore ForCondition
оценивается как false
.
Например, с использованием последней на сегодня версии Eclipse IDE для Java 2018-12, поставляемой с EclEmma 3.1.1:
![example](https://i.stack.imgur.com/mVWBX.png)
И, возможно, в других ваших циклах таких выходов нет:
![example](https://i.stack.imgur.com/MfM09.png)
Это также может объяснить
Запуск этого кода с пустым StringBuilder
окрашивает его в зеленый цвет.
и
Добавление искусственно созданной ситуации с пустым StringBuilder
(в реальности это невозможно) окрашивает цикл в зеленый цвет.
из-за добавленного случая, когда ForCondition
оценивается как false
перед выполнением Body
:
![example](https://i.stack.imgur.com/7mqEp.png)