int i; //цикл (выполняется 5 раз: i тут от 0 до 4) for (i = 0; i < 5; i++) { //если шаг цикла больше или равен 3-м, то тогда цикл перестает выполняться //break - `ломает` цикл if (i >= 3) { break; } System.out.println("Yuhu"); //если шаг цикла больше или равен 1, то тогда мы переходим к началу цикла //оператор continue возвращает цикл к началу выполнения if (i >= 1) { continue; } System.out.println("Tata"); } System.out.println(i);
Here's how the compiler will do this (schematically):
0 шаг: i = 0 i >= 3 //не выполнится System.out.println("Yuhu"); i >= 1 //не выполнится System.out.println("Tata"); 1 шаг: i = 1 i >= 3 //не выполнится System.out.println("Yuhu"); i >= 1 { continue; } //выполнится //переходим к началу цикла и пропускаем оставшееся тело цикла 2 шаг: i = 2 i >= 3 //не выполнится System.out.println("Yuhu"); i >= 1 { continue; } //выполнится //переходим к началу цикла и пропускаем оставшееся тело цикла 3 шаг: i = 3 i >= 3 { break; } //выполнится //цикл остановится
Well, in the end we output to the console i
, which is equal to the 3rd.