U ovom ćete uputstvu uz primjere naučiti o naredbi break, označenoj izjavi break u Javi.
Dok radite s petljama, ponekad je poželjno preskočiti neke izraze unutar petlje ili odmah prekinuti petlju bez provjere probnog izraza.
U takvim slučajevima, break
a continue
koristi se izjave. O naredbi Java continue naučit ćete u sljedećem vodiču.
break
Izjava u Java prekida petlje odmah, a kontrolu programa seli u sljedećoj izjavi nakon petlje.
Gotovo se uvijek koristi s izjavama za donošenje odluka (Java if … else Statement).
Evo sintakse izraza break u Javi:
break;
Kako break izjava radi?
Rad Java Statementa izjavePrimjer 1: Izjava o prekidu Java
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); ) ) )
Izlaz :
1 2 3 4
U gornjem programu koristimo for
petlju za ispis vrijednosti i u svakoj iteraciji. Da biste znali kako for
funkcionira petlja, posjetite petlju Java for. Ovdje, primijetite izjavu,
if (i == 5) ( break; )
To znači da kada je vrijednost i jednaka 5, petlja se završava. Stoga dobivamo izlaz s vrijednostima manjim od 5.
Primjer 2: Izjava o prekidu Java
Program u nastavku izračunava zbroj brojeva koje je korisnik unio dok korisnik ne unese negativan broj.
Da bismo uzeli ulaz od korisnika, koristili smo Scanner
objekt. Da biste saznali više o tome Scanner
, posjetite 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); ) )
Izlaz :
Unesite broj: 3.2 Unesite broj: 5 Unesite broj: 2.3 Unesite broj: 0 Unesite broj: -4,5 Zbroj = 10,5
U gore navedenom programu testni izraz while
petlje je uvijek true
. Evo, primijetite crtu,
if (number < 0.0) ( break; )
To znači da kada korisnik unese negativne brojeve, petlja while se prekida.
Prekid Java i ugniježđena petlja
U slučaju ugniježđenih petlji, break
izraz završava najunutarnju petlju.
Ovdje izjava break završava unutarnju while
petlju, a kontrola preskače na vanjsku petlju.
Označena izjava o prekidu
Do sada smo koristili neoznačenu izjavu break. Završava unutarnju petlju i naredbu prekidača. Međutim, postoji još jedan oblik izjave o prekidu u Javi poznat pod nazivom označena prekid.
Označenu izjavu break možemo koristiti i za prekidanje najudaljenije petlje.
Rad označene izjave break u JaviKao što možete vidjeti na gornjoj slici, koristili smo identifikator naljepnice da odredimo vanjsku petlju. Sada, primijetite kako break
se koristi izjava ( break label;
).
Ovdje break
izjava završava označenu naredbu (tj. Vanjsku petlju). Zatim, kontrola programa prelazi na izraz nakon označene izjave.
Evo još jednog primjera:
while (testExpression) ( // codes second: while (testExpression) ( // codes while(testExpression) ( // codes break second; ) ) // control jumps here )
U gornjem primjeru, kada break second;
se izvrši naredba , while
petlja označena kao druga se prekida. I, kontrola programa prelazi na izraz nakon druge while
petlje.
Primjer 3: Označena izjava o prekidu
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; ) ) ) )
Izlaz :
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
U gornjem primjeru labeled break
izjava se koristi za prekidanje petlje označene kao prva. To je,
first: for(int i = 1; i < 5; i++) (… )
Evo, ako promijenimo izjavu break first;
na break second;
programu će se ponašati drugačije. U tom će se slučaju for
petlja označena kao druga prekinuti. Na primjer,
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; ) ) ) )
Izlaz :
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
Napomena : break
Izjava se također koristi za završavanje slučajeva unutar switch
izjave. Da biste saznali više, posjetite izjavu Java switch.