Этот пример перебирает числа, начиная от нуля, и выводит первые три чётных.
int numbersPrinted = 0;
// счётчик, который будет показывать,
// сколько чисел выведено
for (int i = 0; true; i++) {
if (i%2 == 1) // если число нечётное,
continue; // прерываем итерацию:
// i увеличивается на 1, начинается следующая итерация
// если число чётное, итерация продолжается,
System.out.println(i); // выводим число?
numbersPrinted++; // увеличиваем счётчик выведенных чисел
if (numbersPrinted == 3) // если только что вывели третье число, то
break; // прерываем выполнение цикла
// после итерации i, как обычно, увеличивается на 1
}
Вывод:
0 2 4
{"name":"main","subCalls":[{"name":"numbersPrinted \u003d 0","subCalls":[]},{"name":"i \u003d 0","subCalls":[]},{"name":"итерация","subCalls":[{"name":"i (0) нечётное? нет","subCalls":[]},{"name":"вывести i (0)","subCalls":[]},{"name":"инк. numbersPrinted","subCalls":[]},{"name":"numbersPrinted \u003d\u003d 3? нет","subCalls":[]},{"name":"инк. i","subCalls":[]}]},{"name":"итерация","subCalls":[{"name":"i (1) нечётное? да","subCalls":[{"name":"прервать итерацию","subCalls":[]}]},{"name":"инк. i","subCalls":[]}]},{"name":"итерация","subCalls":[{"name":"i (2) нечётное? нет","subCalls":[]},{"name":"вывести i (2)","subCalls":[]},{"name":"инк. numbersPrinted","subCalls":[]},{"name":"numbersPrinted \u003d\u003d 3? нет","subCalls":[]},{"name":"инк. i","subCalls":[]}]},{"name":"итерация","subCalls":[{"name":"i (3) нечётное? да","subCalls":[{"name":"прервать итерацию","subCalls":[]}]},{"name":"инк. i","subCalls":[]}]},{"name":"итерация","subCalls":[{"name":"i (4) нечётное? нет","subCalls":[]},{"name":"вывести i (4)","subCalls":[]},{"name":"инк. numbersPrinted","subCalls":[]},{"name":"numbersPrinted \u003d\u003d 3? да","subCalls":[{"name":"прервать цикл","subCalls":[]}]}]}]}