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 break
a continue
. O příkazu Java continue se dozvíte v dalším kurzu.
Příkaz break
v 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?
![](https://cdn.wiki-base.com/2119107/java_break_statement_with_examples.jpg.webp)
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 for
smyčku k tisku hodnoty i v každé iteraci. Chcete-li vědět, jak for
funguje 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 Scanner
objekt. 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 while
smyč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 break
příkaz ukončí nejvnitřnější smyčku.
![](https://cdn.wiki-base.com/2119107/java_break_statement_with_examples_2.jpg.webp)
Zde příkaz break ukončí nejvnitřnější while
smyč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.
![](https://cdn.wiki-base.com/2119107/java_break_statement_with_examples_3.jpg.webp)
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 break
příkaz používá ( break label;
).
Zde break
pří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, while
smyčka označen jako druhý se ukončí. Ovládací prvek programu se přesune na příkaz po druhé while
smyč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 break
pří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 for
smyč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 break
se také používá k ukončení případů uvnitř switch
příkazu. Další informace najdete v prohlášení o přepínání prostředí Java.