English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 Java에서 break 문을 학습하려고 합니다. 이 break 문은 Java에서 break 문으로 표시됩니다.
루프를 사용할 때, 루프 내의 일부 문장을 건너뛰거나 테스트 표현식을 확인하지 않고 즉시 루프를 종료할 때가 있습니다.
이 경우, break와 continue 문을 사용합니다. 다음 장에서 이해할 수 있습니다continue 문。
Java에서 break 문은 즉시 루프를 종료하고, 프로그램의 제어가 루프 뒤의 다음 문장으로 이동합니다.
break 문은 거의 항상 결정 문장(Java if ... else 문)를 함께 사용합니다.
이것은 Java에서 break 문의 문법입니다:
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의 출력 값.
다음 프로그램은 사용자가 입력한 수의 합을 계산하고, 사용자가 음수를 입력할 때까지 계산합니다.
용 사용자 입력을 받기 위해 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 루프가 종료된다는 것을 의미합니다.
대신내부 루프break 문이 가장 내부의 루프를 종료합니다.
여기서는 break 문이 가장 내부의 while 루프를 종료하고, 컨트롤이 외부 루프로 이동합니다.
현재까지는 레이블이 없는 break 문을 사용했습니다. 이는 가장 내부 루프와 switch 문을 종료합니다. 하지만 Java에는 레이블 break 문 형식도 있습니다.
우리는 레이블 break 문을 사용하여 가장 외부 루프를 종료할 수도 있습니다.
위 그림과 같이, 우리는 label 식별자를 사용하여 외부 루프를 지정합니다. 지금, 이 break 문(break label;)의 사용법을 주목해 주세요.
여기서는 break 문이 레이블이 있는 문장(즉, 외부 루프)을 종료하고, 프로그램이 지정된 레이블 이후의 문으로 이동합니다.
다음은 또 다른 예제입니다:
while(testExpression) { // 코드 second: while(testExpression) { // 코드 while(testExpression) { // 코드 break second; } } //컨트롤이 여기로 점프합니다 }
위의 예제에서는 break second; 문을 실행했을 때, 레이블이 Second로 지정된 while 루프가 종료되고, 프로그램의 컨트롤이 두 번째 while 루프 이후의 문으로 이동합니다.
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 문이 첫 번째 for 루프를 종료합니다 if ( i == 2) break first; } } } }
출력:
i = 1; j = 1 i = 1; j = 2 i = 2; j = 1
위의 예제에서는, 레이블이 first로 지정된 루프를 종료하는 레이블 break 문이 사용되었습니다. 즉,
first: for(int i = 1; i < 5; i++){...}
여기서, break first;을 break second;으로 변경하면 프로그램의 동작이 다릅니다. 이 경우, second로 표시된 for 루프가 종료됩니다. 예를 들어,}}
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 문은 switch 문의 case를 종료하는 데도 사용됩니다. 더 많은 정보를 얻으려면 방문하세요Java switch 문。