V tomto kurzu se na příkladech dozvíte o příkazu break, který je v Javě označen jako příkaz break.
Při práci se smyčkami je někdy žádoucí přeskočit některé příkazy uvnitř smyčky nebo smyčku okamžitě ukončit bez kontroly testovacího výrazu.
V takových případech se použijí příkazy breaka continue. O příkazu Java continue se dozvíte v dalším kurzu.
Příkaz breakv Javě smyčku okamžitě ukončí a ovládání programu se přesune na další příkaz následující po smyčce.
Téměř vždy se používá s výroky rozhodování (prohlášení Java, pokud … else).
Zde je syntaxe příkazu break v Javě:
break;
Jak příkaz break funguje?
Pracovní příkaz Java break
Příklad 1: Pří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
Ve výše uvedeném programu používáme forsmyčku k tisku hodnoty i v každé iteraci. Chcete-li vědět, jak forfunguje smyčka, navštivte smyčku Java for. Zde si všimněte prohlášení,
if (i == 5) ( break; )
To znamená, že když je hodnota i rovna 5, smyčka končí. Proto dostaneme výstup pouze s hodnotami menšími než 5.
Příklad 2: Příkaz Java break
Níže uvedený program vypočítá součet čísel zadaných uživatelem, dokud uživatel nezadá záporné číslo.
Abychom převzali vstup od uživatele, použili jsme Scannerobjekt. Chcete-li se dozvědět více Scanner, navštivte 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 :
Zadejte číslo: 3.2 Zadejte číslo: 5 Zadejte číslo: 2.3 Zadejte číslo: 0 Zadejte číslo: -4,5 Součet = 10,5
Ve výše uvedeném programu je testovací výraz whilesmyčky vždy true. Tady si všimněte řádku,
if (number < 0.0) ( break; )
To znamená, že když uživatel zadá záporná čísla, smyčka while je ukončena.
Přerušení Java a vnořená smyčka
V případě vnořených smyček breakpříkaz ukončí nejvnitřnější smyčku.
Práce s příkazem break s vnořenými smyčkami
Zde příkaz break ukončí nejvnitřnější whilesmyčku a ovládání přeskočí na vnější smyčku.
Prohlášení o přestávce se štítkem
Dosud jsme použili neoznačený příkaz break. Ukončí příkaz nejvnitřnější smyčky a přepínače. V Javě však existuje jiná forma příkazu break, která se označuje jako break s označením.
Můžeme použít příkaz s označením break, abychom ukončili také nejvzdálenější smyčku.
Práce s příkazem označeného konce v Javě
Jak vidíte na obrázku výše, k určení vnější smyčky jsme použili identifikátor štítku. Nyní si všimněte, jak se breakpříkaz používá ( break label;).
Zde breakpříkaz ukončuje označený příkaz (tj. Vnější smyčku). Poté ovládací prvek programu přeskočí na příkaz za označeným příkazem.
Zde je další příklad:
while (testExpression) ( // codes second: while (testExpression) ( // codes while(testExpression) ( // codes break second; ) ) // control jumps here )
Ve výše uvedeném příkladu, když je tvrzení break second;je proveden, whilesmyčka označen jako druhý se ukončí. Ovládací prvek programu se přesune na příkaz po druhé whilesmyčce.
Příklad 3: Příkaz označeného přerušení
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
Ve výše uvedeném příkladu se labeled breakpříkaz používá k ukončení smyčky označené jako první. To znamená
first: for(int i = 1; i < 5; i++) (… )
Zde, pokud změníme prohlášení break first;k break second;programu bude chovat jinak. V tomto případě bude forsmyčka označená jako druhá ukončena. Napří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 : Příkaz breakse také používá k ukončení případů uvnitř switchpříkazu. Další informace najdete v prohlášení o přepínání prostředí Java.








