In questo tutorial imparerai a conoscere l'istruzione break, l'istruzione break etichettata in Java con l'aiuto di esempi.
Mentre si lavora con i cicli, a volte è desiderabile saltare alcune istruzioni all'interno del ciclo o terminare immediatamente il ciclo senza controllare l'espressione di prova.
In questi casi, break
e continue
sono utilizzati dichiarazioni. Imparerai a conoscere l'istruzione continue di Java nel prossimo tutorial.
L' break
istruzione in Java termina immediatamente il ciclo e il controllo del programma passa all'istruzione successiva che segue il ciclo.
Viene quasi sempre utilizzato con le dichiarazioni decisionali (Java if… else Statement).
Ecco la sintassi dell'istruzione break in Java:
break;
Come funziona l'istruzione break?
![](https://cdn.wiki-base.com/2119107/java_break_statement_with_examples.jpg.webp)
Esempio 1: istruzione break 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); ) ) )
Uscita :
1 2 3 4
Nel programma sopra, stiamo usando il for
ciclo per stampare il valore di i in ogni iterazione. Per sapere come for
funziona il loop, visita il Java for loop. Qui, nota l'affermazione,
if (i == 5) ( break; )
Ciò significa che quando il valore di i è uguale a 5, il ciclo termina. Quindi otteniamo solo l'output con valori inferiori a 5.
Esempio 2: istruzione break Java
Il programma seguente calcola la somma dei numeri inseriti dall'utente fino a quando l'utente non inserisce un numero negativo.
Per ricevere input dall'utente, abbiamo utilizzato l' Scanner
oggetto. Per saperne di più Scanner
, visita 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); ) )
Uscita :
Immettere un numero: 3.2 Immettere un numero: 5 Immettere un numero: 2.3 Immettere un numero: 0 Immettere un numero: -4,5 Somma = 10,5
Nel programma precedente, l'espressione di prova del while
ciclo è sempre true
. Qui, nota la linea,
if (number < 0.0) ( break; )
Ciò significa che quando l'utente immette numeri negativi, il ciclo while viene terminato.
Interruzione Java e ciclo annidato
Nel caso di cicli annidati, l' break
istruzione termina il ciclo più interno.
![](https://cdn.wiki-base.com/2119107/java_break_statement_with_examples_2.jpg.webp)
Qui, l'istruzione break termina il while
ciclo più interno e il controllo salta al ciclo esterno.
Istruzione break con etichetta
Fino ad ora, abbiamo utilizzato l'istruzione break senza etichetta. Termina il ciclo più interno e l'istruzione switch. Tuttavia, esiste un'altra forma di istruzione break in Java nota come break etichettata.
Possiamo usare l'istruzione break etichettata per terminare anche il ciclo più esterno.
![](https://cdn.wiki-base.com/2119107/java_break_statement_with_examples_3.jpg.webp)
Come puoi vedere nell'immagine sopra, abbiamo usato l'identificatore dell'etichetta per specificare il ciclo esterno. Ora, nota come break
viene usata l' istruzione ( break label;
).
Qui, l' break
istruzione termina l'istruzione etichettata (cioè il ciclo esterno). Quindi, il controllo del programma salta all'istruzione dopo l'istruzione etichettata.
Ecco un altro esempio:
while (testExpression) ( // codes second: while (testExpression) ( // codes while(testExpression) ( // codes break second; ) ) // control jumps here )
Nell'esempio precedente, quando l'istruzione break second;
viene eseguita, il while
ciclo etichettato come secondo viene terminato. E il controllo del programma si sposta sull'istruzione dopo il secondo while
ciclo.
Esempio 3: istruzione break con etichetta
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; ) ) ) )
Uscita :
i = 1; j = 1 io = 1; j = 2 io = 2; j = 1
Nell'esempio precedente, l' labeled break
istruzione viene utilizzata per terminare il ciclo etichettato come primo. Questo è,
first: for(int i = 1; i < 5; i++) (… )
Qui, se cambiamo l'istruzione break first;
al break second;
programma, si comporterà diversamente. In questo caso, il for
ciclo etichettato come secondo verrà terminato. Per esempio,
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; ) ) ) )
Uscita :
i = 1; j = 1 io = 1; j = 2 io = 2; j = 1 io = 3; j = 1 io = 3; j = 2 io = 4; j = 1 io = 4; j = 2
Nota : l' break
istruzione viene utilizzata anche per terminare i casi all'interno switch
dell'istruzione. Per saperne di più, visita l'istruzione switch Java.