Перехід до наступної ітерації для циклу For у Java


Відповіді:


344
continue;

continue; Ключове слово розпочнеться наступною ітерацією після виклику

Наприклад

for(int i= 0 ; i < 5; i++){
 if(i==2){
  continue;
 }
System.out.print(i);
}

Це надрукується

0134

Побачити


2
і breakпропустимо цикл :)
Shajeel Afzal

18
Скоріше ключове слово 'break' завершить цикл.
розбійник хлопець

56

Спробуйте це,

1. If you want to skip a particular iteration, use continue.

2. If you want to break out of the immediate loop use break

3 If there are 2 loop, outer and inner.... and you want to break out of both the loop from the inner loop, use break with label.

наприклад:

продовжувати

for(int i=0 ; i<5 ; i++){

    if (i==2){

      continue;
    }
 }

наприклад:

перерва

for(int i=0 ; i<5 ; i++){

        if (i==2){

          break;
        }
     }

наприклад:

перерва з етикеткою

lab1: for(int j=0 ; j<5 ; j++){
     for(int i=0 ; i<5 ; i++){

        if (i==2){

          break lab1;
        }
     }
  }

5
Є також продовжити з лейблом.
Carcamano

35

Якщо ви хочете пропустити поточну ітерацію, використовуйте continue;.

for(int i = 0; i < 5; i++){
    if (i == 2){
        continue;
    }
 }

Потрібно вирватися з усієї петлі? Використовуйтеbreak;

for(int i = 0; i < 5; i++){
    if (i == 2){
        break;
    }
}

Якщо вам потрібно вирватися з декількох циклів використання break someLabel;

outerLoop:                                           // Label the loop
for(int j = 0; j < 5; j++){
     for(int i = 0; i < 5; i++){
        if (i==2){
          break outerLoop;
        }
     }
  }

* Зауважте, що в цьому випадку ви не позначаєте крапку в коді, щоб перейти, ви позначаєте цикл! Тож після перерви код продовжиться відразу після циклу!

Коли вам потрібно пропустити одну ітерацію при використанні вкладених циклів continue someLabel;, але ви також можете їх об'єднати.

outerLoop:
for(int j = 0; j < 10; j++){
     innerLoop:
     for(int i = 0; i < 10; i++){
        if (i + j == 2){
          continue innerLoop;
        }
        if (i + j == 4){
          continue outerLoop;
        }
        if (i + j == 6){
          break innerLoop;
        }
        if (i + j == 8){
          break outerLoop;
        }
     }
  }

8

Як зазначено у всіх інших відповідях, ключове слово continueбуде пропущено до кінця поточної ітерації.

Крім того, ви можете помітити, що ваш цикл починається, а потім використовувати continue [labelname];або break [labelname];керувати тим, що відбувається вкладених циклів:

loop1: for (int i = 1; i < 10; i++) {
    loop2: for (int j = 1; j < 10; j++) {
        if (i + j == 10)
            continue loop1;

        System.out.print(j);
    }
    System.out.println();
}

3

Використовуйте continueключове слово. Прочитайте тут .

Оператор продовження пропускає поточну ітерацію циклу for, while або do-while.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.