Java-onderbrekingsverklaring
Java break-instructie
In deze zelfstudie leert u met behulp van voorbeelden over de break-instructie, gelabeld break-instructie in Java.
Tijdens het werken met lussen is het soms wenselijk om enkele instructies binnen de lus over te slaan of de lus onmiddellijk te beëindigen zonder de testuitdrukking te controleren.
In dergelijke gevallen, break
en continue
uitspraken worden gebruikt. In de volgende zelfstudie leert u meer over de Java continue-instructie.
De break
instructie in Java beëindigt de lus onmiddellijk en de besturing van het programma gaat naar de volgende instructie na de lus.
Het wordt bijna altijd gebruikt bij besluitvormingsverklaringen (Java if...else Statement).
Hier is de syntaxis van de break-instructie in Java:
break;
Hoe werkt de break-statement?
Voorbeeld 1:Java break-statement
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);
}
}
}
Uitvoer :
1 2 3 4
In het bovenstaande programma gebruiken we de for
lus om de waarde van i . af te drukken in elke iteratie. Om te weten hoe for
loop werkt, bezoek dan de Java for loop. Hier, let op de verklaring,
if (i == 5) {
break;
}
Dit betekent dat wanneer de waarde van i gelijk is aan 5, eindigt de lus. Daarom krijgen we alleen de uitvoer met waarden kleiner dan 5.
Voorbeeld 2:Java break-statement
Het onderstaande programma berekent de som van de getallen die door de gebruiker zijn ingevoerd totdat de gebruiker een negatief getal invoert.
Om input van de gebruiker te krijgen, hebben we de Scanner
. gebruikt object. Voor meer informatie over Scanner
, ga naar 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);
}
}
Uitvoer :
Enter a number: 3.2 Enter a number: 5 Enter a number: 2.3 Enter a number: 0 Enter a number: -4.5 Sum = 10.5
In het bovenstaande programma is de testuitdrukking van de while
lus is altijd true
. Hier, let op de lijn,
if (number < 0.0) {
break;
}
Dit betekent dat wanneer de gebruiker negatieve getallen invoert, de while-lus wordt beëindigd.
Java-pauze en geneste lus
In het geval van geneste lussen, de break
statement beëindigt de binnenste lus.
Hier beëindigt de break-instructie de binnenste while
lus, en de besturing springt naar de buitenste lus.
Gelabelde break-instructie
Tot nu toe hebben we de niet-gelabelde break-instructie gebruikt. Het beëindigt de binnenste lus en switch-instructie. Er is echter een andere vorm van break-instructie in Java die bekend staat als de gelabelde break.
We kunnen de gelabelde break-instructie ook gebruiken om de buitenste lus te beëindigen.
Zoals je kunt zien in de bovenstaande afbeelding, hebben we het label . gebruikt identifier om de buitenste lus te specificeren. Merk nu op hoe de break
instructie wordt gebruikt (break label;
).
Hier, de break
instructie beëindigt de gelabelde instructie (d.w.z. buitenste lus). Vervolgens springt de besturing van het programma naar de instructie na de gelabelde instructie.
Hier is nog een voorbeeld:
while (testExpression) {
// codes
second:
while (testExpression) {
// codes
while(testExpression) {
// codes
break second;
}
}
// control jumps here
}
In het bovenstaande voorbeeld, wanneer de instructie break second;
wordt uitgevoerd, de while
lus gelabeld als seconde is beëindigd. En de besturing van het programma gaat naar de instructie na de tweede while
lus.
Voorbeeld 3:gelabelde break-instructie
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;
}
}
}
}
Uitvoer :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
In het bovenstaande voorbeeld is de labeled break
instructie wordt gebruikt om de lus te beëindigen die als eerste is gelabeld. Dat wil zeggen,
first:
for(int i = 1; i < 5; i++) {...}
Hier, als we de instructie break first;
change wijzigen tot break second;
het programma zal zich anders gedragen. In dit geval for
lus die als tweede is gelabeld, wordt beëindigd. Bijvoorbeeld,
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;
}
}
}
}
Uitvoer :
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
Opmerking :De break
statement wordt ook gebruikt om gevallen te beëindigen binnen de switch
uitspraak. Ga voor meer informatie naar de Java switch-instructie.
Java