English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste tutorial, você aprenderá sobre o statement break, que é marcado como break statement no Java.
Quando se usa loops, às vezes é desejável pular algumas sentenças dentro do loop ou terminar o loop imediatamente sem verificar a expressão de teste.
Neste caso, usaremos os statements break e continue. Você aprenderá sobre eles no próximo capítulo.continue statement.
O break statement no Java imediatamente termina o loop, e o controle do programa é transferido para a próxima sentença após o loop.
O break statement é quase sempre usado com sentenças de decisão (Java if ... else statementusados juntos.
Este é o sintaxe do break statement em Java:
break;
class Test { public static void main(String[] args) { // Loop for for (int i = 1; i <= 10; ++i) { //Se o valor de i for5então o loop termina if (i == 5) { break; } System.out.println(i); } } }
Output:
1 2 3 4
No programa acima, usamos um loop for para imprimir o valor de i em cada iteração. Para entender como o loop for funciona, acesseJava for loopAtenção, aqui estão as seguintes sentenças:
if (i == 5) { break; }
Isso significa que quando o valor de i é igual a5quando, a iteração termina. Portanto, obtemos um valor menor que5O valor de saída.
O programa a seguir calcula a soma dos números digitados pelo usuário até que ele insira um número negativo.
Para aceitar a entrada do usuário, usamos o objeto Scanner. Para obter mais informações sobre Scanner, acesseJava Scanner.
import java.util.Scanner; class UserInputSum { public static void main(String[] args) { Double number, soma = 0.0; //Criar objeto Scanner Scanner input = new Scanner(System.in); while (true) { System.out.print("Insira um número: "); //Aceitar duas entradas do usuário number = input.nextDouble(); //Se number for negativo, o loop termina if (number < 0.0) { break; } soma += number; } System.out.println("Soma = " + soma); } }
Output:
Insira um número: 3.2 Insira um número: 5 Insira um número: 2.3 Insira um número: 0 Insira um número: -4.5 Soma = 10.5
No programa acima, a expressão de teste do loop while sempre é true. Aqui, note essa linha,
if (number < 0.0) { break; }
Isso significa que quando o usuário entra com um número negativo, o loop while termina.
ParaLoops aninhados,a instrução break termina o loop mais interno.
Aqui, a instrução break termina o loop while mais interno e o controle salta para o loop externo.
Até agora, já usamos a instrução break sem etiqueta. Ela termina o loop mais interno e as instruções switch. Mas, no Java, há outro formato de instrução break, chamada de break com etiqueta.
Também podemos usar a instrução break com etiqueta para encerrar o loop mais externo.
Como mostrado na figura acima, usamos o identificador label para especificar o loop externo. Agora, observe como usamos essa instrução break (break label;).
Aqui, a instrução break termina a instrução com etiqueta (ou loop externo). Em seguida, o programa salta para a instrução após a etiqueta especificada.
Este é outro exemplo:
while (testExpression) { // Código second: while (testExpression) { // Código while(testExpression) { // Código break second; } } //O controle salta para aqui }
No exemplo acima, quando a instrução break second; é executada; após a execução, o loop while marcado como Second termina. E, o controle do programa é transferido para essa instrução após o segundo loop while.
class LabeledBreak { public static void main(String[] args) { //Loop marked as first first: for( int i = 1; i < 5; i++) { //Loop marked as second second: for(int j = 1; j < 3; j ++ ) { System.out.println("i = " + i + "; j = " +j); //A instrução break termina o primeiro loop for if ( i == 2) break first; } } } }
Output:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
No exemplo acima, a instrução labeled break é usada para encerrar o loop marcado como first. Isso é,
first: for(int i = 1; i < 5; i++) {...}
In this case, if we change 'break first;' to 'break second;' the behavior of the program will be different. In this case, the for loop marked as second will be terminated. For example,}}
class LabeledBreak { public static void main(String[] args) { //Loop marked as first first: for( int i = 1; i < 5; i++) { //Loop marked as second second: for(int j = 1; j < 3; j ++ ) { System.out.println("i = " + i + "; j = " +j); //break statement terminates the loop marked as second if ( i == 2) break second; } } } }
Output:
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
Notebreak statements are also used to terminate the case of a switch statement. For more information, please visitSentenças switch Java.