1. break
изявление
Нека да разгледаме пример от предишния урок:
Код | Обяснение |
---|---|
|
Програмата ще прочете ред от клавиатурата, докато въведете "exit" . |
Програмата чете редове от конзолата до exit
въвеждане на думата. Ако въведете тази дума, тогава променливата isExit
става true
, conditionто на цикъла ще бъде и цикълът ще приключи."!isExit
false
Java има специален break
оператор, който ви позволява да опростите тази логика. Ако break
оператор се изпълни вътре в цикъл, цикълът завършва незабавно. Програмата ще започне да изпълнява оператора, който следва цикъла. Изявлението е много кратко:
break;
Ето How можете да използвате break
израза, за да пренапишете примера, който току-що обсъдихме:
Код | Обяснение |
---|---|
|
Програмата ще прочете ред от клавиатурата, докато въведете "exit" . |
2. продължавам изявление
Но break
това не е единственият израз на Java, който ви позволява да контролирате поведението на цикъла. Java също има continue
изявлението. Ако изпълните continue
оператор вътре в цикъл, текущата итерация на цикъла ще приключи предсрочно.
Еднократното изпълнение на тялото на цикъла се нарича итерация на цикъла. Операторът continue
прекъсва текущата итерация на цикъла, но за разлика от break
оператора, той не завършва самия цикъл. Изявлението също е кратко:
continue;
Изявлението continue
е супер удобно в цикъл, ако искаме да „пропуснем“ изпълнението на тялото на цикъла в определени ситуации.
Задача: Искаме да напишем програма, която отпечатва числа от 1
до 20
, но пропуска числа, които се делят на 7
. Ето How може да изглежда този code.
Код | Обяснение |
---|---|
|
Програмата показва числа от 1 до 20 . Ако числото се дели на 7 (остатъкът от деленето на 7 е 0 ), тогава пропускаме показването на числото. |
Всъщност този code няма да работи , защото i
ще остане завинаги в номера 7
. В края на краищата continue
изразът пропуска други два израза: System.out.println(i)
и i++
. В резултат на това, след като достигнем стойността 7
, променливата i
ще спре да се променя и ще бъдем в безкраен цикъл.
Написахме codeа по този начин нарочно, за да илюстрираме тази много често срещана грешка. Как да го поправим?
Тук има два варианта:
Вариант 1: промяна i
преди изпълнение continue
, но след товаi % 7
Вариант 2: винаги увеличавайте i
в началото на цикъла. Но тогава i
началната стойност трябва да бъде 0
.
Опция 1 | Вариант 2 |
---|---|
|
|
GO TO FULL VERSION