Vyhlásenie o prerušení Java (s príkladmi)

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 breaka continue. O príkaze Java continue sa dozviete v ďalšom návode.

Príkaz breakv 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 break

Prí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 forslučku na tlač hodnoty i v každej iterácii. Ak chcete vedieť, ako forsluč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 Scannerobjekt. 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 whilesluč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 breakpríkaz ukončí najvnútornejšiu slučku.

Pracovanie príkazu na prerušenie s vnorenými slučkami

Tu príkaz break ukončí najvnútornejšiu whilesluč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 Jave

Ako 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 breakpríkaz používa ( break label;).

Týmto breakprí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ý, whileslučka označený ako druhý sa ukončí. A riadenie programu sa presunie do príkazu po druhej whilesluč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 breakprí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 forsluč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 breaksa používa aj na ukončenie prípadov vo vnútri switchpríkazu. Ak sa chcete dozvedieť viac, navštívte vyhlásenie prepínača Java.

Zaujímavé články...