V tomto tutoriáli sa pomocou príkladov dozviete o príkaze break, ktorá je v Jave označená ako break break.
Pri práci so slučkami je niekedy žiaduce preskočiť niektoré výroky vo vnútri slučky alebo ju okamžite ukončiť bez kontroly testovacieho výrazu.
V takýchto prípadoch sa použijú príkazy break
a continue
. O príkaze Java continue sa dozviete v ďalšom návode.
Príkaz break
v Jave slučku okamžite ukončí a riadenie programu sa presunie na ďalší príkaz nasledujúci za slučkou.
Takmer vždy sa používa s vyhláseniami o rozhodovaní (Príkaz Java, ak … else).
Tu je syntax príkazu break v Jave:
break;
Ako funguje vyhlásenie o zlomení?
Fungovanie príkazu Java breakPríklad 1: Príkaz Java break
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); ) ) )
Výstup :
1 2 3 4
Vo vyššie uvedenom programe používame for
slučku na tlač hodnoty i v každej iterácii. Ak chcete vedieť, ako for
slučka funguje, navštívte Java pre slučku. Tu si všimnite vyhlásenie,
if (i == 5) ( break; )
To znamená, že keď je hodnota i rovná 5, slučka sa ukončí. Preto dostaneme výstup iba s hodnotami menšími ako 5.
Príklad 2: Príkaz Java break
Program uvedený nižšie počíta súčet čísel zadaných používateľom, kým nezadá záporné číslo.
Na získanie vstupu od používateľa sme použili Scanner
objekt. Ak sa chcete dozvedieť viac Scanner
, navštívte 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); ) )
Výstup :
Zadajte číslo: 3.2 Zadajte číslo: 5 Zadajte číslo: 2.3 Zadajte číslo: 0 Zadajte číslo: -4,5 Súčet = 10,5
Vo vyššie uvedenom programe je testovací výraz while
slučky vždy true
. Tu si všimnite riadok,
if (number < 0.0) ( break; )
To znamená, že keď užívateľ zadá záporné čísla, cyklus while je ukončený.
Java break a Nested Loop
V prípade vnorených slučiek break
príkaz ukončí najvnútornejšiu slučku.
Tu príkaz break ukončí najvnútornejšiu while
slučku a riadenie skočí do vonkajšej slučky.
Vyhlásenie o zlomku s označením
Doteraz sme používali príkaz neoznačeného zlomku. Ukončí najvnútornejšiu slučku a príkaz switch. V Jave však existuje iná forma príkazu break, známa ako označený break.
Pomocou príkazu s označením break môžeme ukončiť aj najvzdialenejšiu slučku.
Práca označeného príkazu break v JaveAko vidíte na obrázku vyššie, na určenie vonkajšej slučky sme použili identifikátor štítka. Teraz si všimnite, ako sa break
príkaz používa ( break label;
).
Týmto break
príkaz ukončuje označený príkaz (tj vonkajšiu slučku). Potom riadenie programu skočí na príkaz za označeným príkazom.
Tu je ďalší príklad:
while (testExpression) ( // codes second: while (testExpression) ( // codes while(testExpression) ( // codes break second; ) ) // control jumps here )
Vo vyššie uvedenom príklade, keď je tvrdenie break second;
je vykonaný, while
slučka označený ako druhý sa ukončí. A riadenie programu sa presunie do príkazu po druhej while
slučke.
Príklad 3: Vyhlásenie o zlomku s označením
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; ) ) ) )
Výstup :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
Vo vyššie uvedenom príklade sa labeled break
príkaz používa na ukončenie slučky označenej ako prvá. To znamená,
first: for(int i = 1; i < 5; i++) (… )
Tu, ak zmeníme vyhlásenie break first;
k break second;
programu bude správať inak. V takom prípade bude for
slučka označená ako druhá ukončená. Napríklad,
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; ) ) ) )
Výstup :
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
Poznámka : Príkaz break
sa používa aj na ukončenie prípadov vo vnútri switch
príkazu. Ak sa chcete dozvedieť viac, navštívte vyhlásenie prepínača Java.