Изявление за продължаване на Java (с примери)

В този урок ще научите за инструкцията continue и с етикет continue statement в Java с помощта на примери.

Докато работите с цикли, понякога може да искате да пропуснете някои изрази или да прекратите цикъла. В такива случаи се използват breakи continueизявления.

За да научите повече за breakизявлението, посетете Java break. Тук ще научим за continueизявлението.

Java продължава

В continueизявлението прескача текущата итерация на цикъл ( for, while, do… while, и т.н.).

След continueизявлението програмата се премества в края на цикъла. И тестовият израз се оценява (изразът за актуализация се оценява в случай на цикъл for).

Ето синтаксиса на оператора continue.

 continue;

Забележка : Изявлението continue се използва почти винаги в изявленията за вземане на решения (ако … друго изявление).

Работа на Java продължение оператор

Работа на Java продължава Изявление

Пример 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операторът пропуска текущата итерация на най-вътрешния цикъл.

Работа на инструкция за продължаване на Java с вложени цикли

Пример 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изразът прескача текущата итерация на цикъла, посочен от етикета.

Работата на Java с етикет продължаване на изявление

Виждаме, че идентификаторът на етикета определя външния цикъл. Забележете използването на продължението във вътрешния контур.

Тук 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, рефакторирайте кода си и се опитайте да го разрешите по различен начин, за да го направите по-четлив.

Интересни статии...