English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java流程控制

Java数组

Java面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Обработка исключений Java

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Конструкция break Java

在本教程中,您将借助示例来学习break语句,该语句在Java中被标记为break语句。

在使用循环时,有时希望跳过循环内的某些语句或立即终止循环而不检查测试表达式。

在这种情况下,将使用break和continue语句。您将在下一章中了解continue语句.

Java中的break语句立即终止循环,程序的控制权移至循环后的下一条语句。

break语句它几乎总是与决策语句(Java if ... else语句)一起使用。

这是Java中break语句的语法:

break;

break语句如何工作?

Java break语句的工作流程图

示例1:Java break语句

class Test {
    public static void main(String[] args) {}}
      
        // for 循环
        for (int i = 1; i <= 10; ++i) {
            //如果i的值为5,则循环终止 
            if (i == 5) {
                break;
            }      
            System.out.println(i);
        }   
    }
}

Вывод:

1
2
3
4

在上面的程序中,我们使用for循环来打印每次迭代中i的值。要了解for循环的工作原理,请访问Java for 循环。在这里,请注意以下语句:

if (i == 5) {
    break;
}

这意味着当的值i等于5时,循环终止。因此,我们得到是小于5的输出值。

示例2:Java break语句

下面的程序计算用户输入的数字总和,直到用户输入负数。

为了接受用户的输入,我们使用了该Scanner对象。要了解更多信息Scanner,请访问Java Scanner.

import java.util.Scanner;
class UserInputSum {
    public static void main(String[] args) {}}
      
        Double number, sum = 0.0;
        //创建Scanner对象
        Scanner input = new Scanner(System.in);
      
        while (true) {
            System.out.print("输入一个数字: ");
            //接受用户的两次输入
            number = input.nextDouble();
         
            //Если number отрицательное, цикл прерывается
            if(number < 0.0) {
                break;
            }
         
           sum += number;
        }
        System.out.println("Sum = " + sum);
    }
}

Вывод:

Ввести число: 3.2
Ввести число: 5
Ввести число: 2.3
Ввести число: 0
Ввести число: -4.5
Sum = 10.5

В этом примере тестовое выражение цикла while всегда равно true. Обратите внимание на эту строку:

if(number < 0.0) {
    break;
}

Это означает, что когда пользователь вводит отрицательное число, цикл while прерывается.

Java и вложенные циклы

ДляВложенные циклыbreak прерывает самый внутренний цикл.

Діаграмма работы break с вложенными циклами

Здесь, break-оператор прерывает самый внутренний while-цикл, и управление переходит к внешнему циклу.

Помеченный break

До сих пор мы использовали не помеченные break-операторы. Они прерывают самый внутренний цикл и инструкции switch. Но в Java есть и другой вид break-оператора, называемый помеченным break.

Мы также можем использовать помеченный break для прерывания внешнего цикла.

Діаграмма работы сложенного break в Java

Как показано на рисунке, мы используем идентификатор label для указания внешнего цикла. Теперь обратите внимание, как используется этот break-оператор (break label;).

Здесь, этот break-оператор прерывает помеченный цикл (то есть внешнее кольцо). Затем программа переходит к следующей команде после указанного помеченного цикла.

Это другой пример:

while(testExpression) {
   // Код
   second:
   while(testExpression) {
      // Код
      while(testExpression) {
         // Код
         break second;
      }
   }
   //Контрольный прыжок сюда
}

В предыдущем примере, когда выполняется команда break second;, после выполнения этой команды цикл while, помеченный как Second, будет прерван. И управление в программе будет передано к следующей команде после второго цикла while.

Пример 3: Сложенный break

class LabeledBreak {
    public static void main(String[] args) {}}
   
        // пометка для цикла for, помеченного first 
        first:
        for ( int i = 1; i < 5; i++) {
            // пометка для цикла for, помеченного second
            second:
            for (int j = 1; j < 3; j++) {
                System.out.println("i = " + i + "; j = " + j);
             
                //Прервание цикла первого for
                if ( i == 2 )
                    break first;
            }
        }
    }
}

Вывод:

i = 1; j = 1
i = 1; j = 2
i = 2; j = 1

В предыдущем примере,语句 labeled break используется для прерывания цикла, помеченного как first. То есть,

first:
for(int i = 1; i < 5; i++) {...}

Здесь, если мы изменяем break first; на break second; поведение программы изменится. В этом случае, цикл for, помеченный как second, будет прерван. Например,

class LabeledBreak {
    public static void main(String[] args) {}}
      
        // пометка для цикла for, помеченного first
        first:
        for ( int i = 1; i < 5; i++) {
            // пометка для цикла for, помеченного second
            second:
            for (int j = 1; j < 3; j++) {
                System.out.println("i = " + i + "; j = " + j);
       
                // команда break завершает цикл, помеченный second  
                if ( i == 2 )
                    break second;
            }
        }
    }
}

Вывод:

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

Внимание: команда break также используется для завершения case в switch. Для получения дополнительной информации посетитеКонструкция switch Java.