В този урок ще научите за инструкцията continue и с етикет continue statement в Java с помощта на примери.
Докато работите с цикли, понякога може да искате да пропуснете някои изрази или да прекратите цикъла. В такива случаи се използват break
и continue
изявления.
За да научите повече за break
изявлението, посетете Java break. Тук ще научим за continue
изявлението.
Java продължава
В continue
изявлението прескача текущата итерация на цикъл ( for
, while
, do… while
, и т.н.).
След continue
изявлението програмата се премества в края на цикъла. И тестовият израз се оценява (изразът за актуализация се оценява в случай на цикъл for).
Ето синтаксиса на оператора continue.
continue;
Забележка : Изявлението continue се използва почти винаги в изявленията за вземане на решения (ако … друго изявление).
Работа на Java продължение оператор
![](https://cdn.wiki-base.com/7768816/java_continue_statement_with_examples.png.webp)
Пример 1: Оператор за продължаване на Java
class Main ( public static void main(String() args) ( // for loop for (int i = 1; i <= 10; ++i) ( // if value of i is between 4 and 9 // continue is executed if (i> 4 && i < 9) ( continue; ) System.out.println(i); ) ) )
Изход :
1 2 3 4 9 10
В горната програма използваме for
цикъла, за да отпечатаме стойността на i във всяка итерация. За да разберете как for
работи цикълът, посетете Java for loop. Забележете изявлението,
if (i> 5 && i < 9) ( continue; )
Тук continue
изразът се изпълнява, когато стойността на i стане повече от 4 и по-малка от 9 .
След това пропуска инструкцията за печат вътре в цикъла. Следователно получаваме изхода със пропуснати стойности 5 , 6 , 7 и 8 .
Пример 2: Изчислете сумата от 5 положителни числа
import java.util.Scanner; class Main ( public static void main(String() args) ( Double number, sum = 0.0; // create an object of Scanner Scanner input = new Scanner(System.in); for (int i = 1; i < 6; ++i) ( System.out.print("Enter number " + i + " : "); // takes input from the user number = input.nextDouble(); // if number is negative // continue statement is executed if (number <= 0.0) ( continue; ) sum += number; ) System.out.println("Sum = " + sum); input.close(); ) )
Изход :
Въведете номер 1: 2.2 Въведете номер 2: 5.6 Въведете номер 3: 0 Въведете номер 4: -2.4 Въведете номер 5: -3 Сума = 7.8
В горния пример използвахме цикъла for, за да отпечатаме сумата от 5 положителни числа. Забележете линията,
if (number < 0.0) ( continue; )
Тук, когато потребителят въведе отрицателно число, continue
изявлението се изпълнява. Това прескача текущата итерация на цикъла и отвежда контрола на програмата до израза за актуализация на цикъла.
Забележка : За да вземем данни от потребителя, ние използвахме Scanner
обекта. За да научите повече, посетете Java Scanner.
Java продължава с вложен цикъл
В случай на вложени цикли в Java, continue
операторът пропуска текущата итерация на най-вътрешния цикъл.
![](https://cdn.wiki-base.com/7768816/java_continue_statement_with_examples_2.png.webp)
Пример 3: продължете с вложен цикъл
class Main ( public static void main(String() args) ( int i = 1, j = 1; // outer loop while (i <= 3) ( System.out.println("Outer Loop: " + i); // inner loop while(j <= 3) ( if(j == 2) ( j++; continue; ) System.out.println("Inner Loop: " + j); j++; ) i++; ) ) )
Изход
Външен контур: 1 Вътрешен контур: 1 Вътрешен контур: 3 Външен контур: 2 Външен контур: 3
В горния пример използвахме вложения цикъл while. Имайте предвид, че сме използвали continue
изявлението във вътрешния цикъл.
if(j == 2) ( j++; continue: )
Тук, когато стойността на j е 2 , стойността на j се увеличава и continue
изявлението се изпълнява.
Това прескача итерацията на вътрешния цикъл. Следователно текстът Inner Loop: 2 се пропуска от изхода.
Етикетиран продължава Изявление
Досега използвахме continue
декларацията без етикет . Има обаче друга форма на continue
изявление в Java, известна като обозначена продължаване .
Той включва етикета на цикъла заедно с continue
ключовата дума. Например,
continue label;
Тук continue
изразът прескача текущата итерация на цикъла, посочен от етикета.
![](https://cdn.wiki-base.com/7768816/java_continue_statement_with_examples_3.png.webp)
Виждаме, че идентификаторът на етикета определя външния цикъл. Забележете използването на продължението във вътрешния контур.
Тук continue
изразът прескача текущата итерация на етикетирания израз (т.е. външен цикъл). След това контролата на програмата преминава към следващата итерация на етикетирания израз.
Пример 4: с етикет продължение Изявление
class Main ( public static void main(String() args) ( // outer loop is labeled as first first: for (int i = 1; i < 6; ++i) ( // inner loop for (int j = 1; j < 5; ++j) ( if (i == 3 || j == 2) // skips the current iteration of outer loop continue first; System.out.println("i = " + i + "; j = " + j); ) ) ) )
Изход :
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
В горния пример labeled continue
изразът се използва за пропускане на текущата итерация на цикъла, обозначен като първи.
if (i==3 || j==2) continue first;
Тук можем да видим, че най-външният for
цикъл е означен като първи,
first: for (int i = 1; i < 6; ++i) (… )
Следователно итерацията на външния for
цикъл се пропуска, ако стойността на i е 3 или стойността на j е 2.
Забележка : Използването на етикети continue
често се обезкуражава, тъй като прави кода ви труден за разбиране. Ако сте в ситуация, в която трябва да използвате етикети continue
, рефакторирайте кода си и се опитайте да го разрешите по различен начин, за да го направите по-четлив.