Šioje pamokoje sužinosite apie pertraukos teiginį, pažymėtą pertraukos teiginį „Java“ pavyzdžių pagalba.
Dirbant su kilpomis, kartais pageidautina praleisti kai kuriuos sakinius ciklo viduje arba nedelsiant nutraukti kilpą, netikrinant testo išraiškos.
Tokiais atvejais, break
ir continue
atskaitomybė yra naudojamas. Apie „Java“ tęsinį sužinosite kitoje pamokoje.
„ break
Java “ sakinys iškart nutraukia kilpą, o programos valdymas pereina prie kito sakinio, einančio po ciklo.
Jis beveik visada naudojamas su sprendimų priėmimo pareiškimais („Java“, jei… kitas pareiškimas).
Čia yra „Java“ lūžio sakinio sintaksė:
break;
Kaip veikia lūžio pareiškimas?

1 pavyzdys: „Java break“ sakinys
class Test ( public static void main(String() args) ( // for loop for (int i = 1; i <= 10; ++i) ( // if the value of i is 5 the loop terminates if (i == 5) ( break; ) System.out.println(i); ) ) )
Išvestis :
1 2 3 4
Pirmiau pateiktoje programoje mes naudojame for
kilpą, kad atspausdintume i vertę kiekvienoje iteracijoje. Norėdami sužinoti, kaip for
veikia ciklas, apsilankykite „Java for loop“. Čia atkreipkite dėmesį į pareiškimą,
if (i == 5) ( break; )
Tai reiškia, kad kai i vertė lygi 5, kilpa baigiasi. Taigi gauname tik mažesnes nei 5 reikšmes.
2 pavyzdys: „Java break“ sakinys
Žemiau pateikiama programa apskaičiuoja vartotojo įvestų skaičių sumą, kol vartotojas įveda neigiamą skaičių.
Norėdami paimti iš vartotojo įvestį, mes panaudojome Scanner
objektą. Norėdami sužinoti daugiau apie tai Scanner
, apsilankykite „Java Scanner“.
import java.util.Scanner; class UserInputSum ( public static void main(String() args) ( Double number, sum = 0.0; // create an object of Scanner Scanner input = new Scanner(System.in); while (true) ( System.out.print("Enter a number: "); // takes double input from user number = input.nextDouble(); // if number is negative the loop terminates if (number < 0.0) ( break; ) sum += number; ) System.out.println("Sum = " + sum); ) )
Išvestis :
Įveskite skaičių: 3.2 Įveskite skaičių: 5 Įveskite skaičių: 2.3 Įveskite skaičių: 0 Įveskite skaičių: -4.5 Suma = 10.5
Pirmiau pateiktoje programoje testo while
ciklo išraiška yra visada true
. Čia atkreipkite dėmesį į eilutę,
if (number < 0.0) ( break; )
Tai reiškia, kad kai vartotojas įveda neigiamus skaičius, ciklas „while“ nutraukiamas.
„Java break“ ir „Nested Loop“
Lizduotų kilpų atveju break
sakinys nutraukia vidinę kilpą.

Čia lūžio sakinys nutraukia vidinę while
kilpą, o valdymas pereina prie išorinės kilpos.
Pažymėtas lūžio pareiškimas
Iki šiol mes naudojome nepažymėtą pertraukos teiginį. Tai nutraukia vidinį ciklo ir jungiklio teiginį. Tačiau yra dar viena „Java“ lūžio formų forma, žinoma kaip paženklinta pertrauka.
Mes galime naudoti paženklintą pertraukos sakinį ir nutraukti tolimiausią kilpą.

Kaip matote aukščiau pateiktame paveikslėlyje, išorinei kilpai nurodyti naudojome etiketės identifikatorių. Dabar atkreipkite dėmesį, kaip naudojamas break
teiginys ( break label;
).
Čia break
teiginys nutraukia pažymėtą sakinį (ty išorinę kilpą). Tada programos valdymas pereina prie teiginio po pažymėtu sakiniu.
Štai dar vienas pavyzdys:
while (testExpression) ( // codes second: while (testExpression) ( // codes while(testExpression) ( // codes break second; ) ) // control jumps here )
Ankstesniame pavyzdyje, kai vykdomas sakinys break second;
, while
ciklas, pažymėtas kaip antrasis, nutraukiamas. Programos valdymas pereina prie sakinio po antrosios while
kilpos.
3 pavyzdys: pažymėta pertraukos ataskaita
class LabeledBreak ( public static void main(String() args) ( // the for loop is labeled as first first: for( int i = 1; i < 5; i++) ( // the for loop is labeled as second second: for(int j = 1; j < 3; j ++ ) ( System.out.println("i = " + i + "; j = " +j); // the break statement breaks the first for loop if ( i == 2) break first; ) ) ) )
Išvestis :
i = 1; j = 1 i = 1; j = 2, i = 2; j = 1
Ankstesniame pavyzdyje labeled break
sakinys naudojamas norint užbaigti kilpą, pažymėtą pirmuoju. Tai yra,
first: for(int i = 1; i < 5; i++) (… )
Čia, jei pakeisime teiginį break first;
į break second;
programą, elgsis kitaip. Tokiu atveju for
kilpa, pažymėta kaip antroji, bus nutraukta. Pavyzdžiui,
class LabeledBreak ( public static void main(String() args) ( // the for loop is labeled as first first: for( int i = 1; i < 5; i++) ( // the for loop is labeled as second second: for(int j = 1; j < 3; j ++ ) ( System.out.println("i = " + i + "; j = " +j); // the break statement terminates the loop labeled as second if ( i == 2) break second; ) ) ) )
Išvestis :
i = 1; j = 1 i = 1; j = 2, i = 2; j = 1, i = 3; j = 1, i = 3; j = 2, i = 4; j = 1, i = 4; j = 2
Pastaba : break
Pareiškimas taip pat naudojamas nutraukti atvejus switch
pareiškime. Norėdami sužinoti daugiau, apsilankykite „Java“ jungiklio pareiškime.