Не понимаю принцип работы оператора continue в бесконечном цикле

Есть код:

for (int i=0; ;i++){
  if (i>3){
    continue; // переход к следующей итерации, не завершая предыдущую
  }
  System.out.println("ddd");
}

В случае, когда цикл не бесконечный, программа выводит ddd в консоль 4 раза и больше ничего не выводит. В бесконечном же цикле, она также выводит ddd 4 раза, останавливается на секунду, после чего начинает бесконечно выводить ddd в консоль. Почему это происходит?


Ответы (1 шт):

Автор решения: Igor

В бесконечном цикле:

она также выводит ddd 4 раза

Это понятно - i от нуля до трех.

останавливается на секунду

i от четырех до максимального целого

начинает бесконечно выводить ddd

i от минимального целого (минус два миллиарда) до трех

Кажется, что это бесконечно, так как вывод в консоль двух миллирадов строк занимает очень много времени.

→ Ссылка