English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
이 튜토리얼에서는 예제를 통해 Java의 continue 문과 continue로 표시된 문장을 이해하게 됩니다.
반복을 처리할 때, 때로는 반복 내의 일부 문장을 건너뜁니다或者说立即终止循环 without checking the test expression.
이 경우, break와 continue 문을 사용합니다. break 문에 대해 이해하려면 다음Java break.
Java에서 continue 문은 반복문의 현재 반복을 건너뜁니다 (for, while, do…while 등), 프로그램의 제어권이 반복문의 마지막으로 이동하며 반복의 테스트 표현식을 계산합니다.
for 반복문에서는 update 문이 테스트 표현식 앞에서 실행됩니다.
continue 문은 거의 항상(if ... else 문결정 문에서 사용됩니다. 그 문법은 다음과 같습니다:
continue;
class Test { public static void main(String[] args) { // for 반복문 for (int i = 1; i <= 10; ++i) { //i의 값이4、9사이에서는 continue를 실행합니다 if (i > 4 && i < 9) { continue; } System.out.println(i); } } }
출력:
1 2 3 4 9 10
위의 프로그램에서는 for 반복문을 사용하여 i의 값을 각 반복에서 출력했습니다. for 반복문의 작동 원리를 이해하려면 다음Java for 루프여기서 주의해야 할 다음과 같은 문장이 있습니다:
if (i > 5 && i < 9) { continue; }
이는 i의 값이4보다 작습니다9이 경우, 반복문 내의 print 문을 건너뜁니다. 따라서, 값을 건너뜁니다5、6、7、8와
다음 프로그램은 사용자가 입력한5양수의 합을 계산합니다. 사용자가 음수나 0을 입력하면 계산에서 제외됩니다.
사용자 입력을 받기 위해 이 Scanner 객체를 사용했습니다. Scanner에 대해 더 알고 싶다면 다음을 방문해 주세요:Java Scanner.
import java.util.Scanner; class AssignmentOperator { public static void main(String[] args) { Double number, sum = 0.0; //Scanner 객체를 생성합니다 Scanner input = new Scanner(System.in); for (int i = 1; i < 6; ++i) { System.out.print("숫자를 입력하세요: "); //double형 데이터 입력을 받습니다 number = input.nextDouble(); //number가 음수라면 반복을 건너뜁니다 if (number <= 0.0) { continue; } sum += number; } System.out.println("Sum = ", + sum); } }
출력:
숫자를 입력하세요: 2.2 숫자를 입력하세요: 5.6 숫자를 입력하세요: 0 숫자를 입력하세요: -2.4 숫자를 입력하세요: -3 Sum = 7.8
위 프로그램에서 다음과 같은 줄을 주의해 주세요:
if (number < 0.0) { continue; }
이는 사용자가 음수를 입력했을 때 반복의 현재 반복을 건너뜁니다. 다음 반복이 시작됩니다.
만약내부 반복그럼 continue는 가장 내부 반복의 현재 반복을 건너뜁니다.
현재까지 우리는 표시되지 않은 continue 문을 사용했습니다. 이는 가장 내부 반복과 switch 문을 종료하는 데 사용됩니다. 그러나 Java에는 또 다른 형태의 continue 문이 있습니다. 이는 표시된 continue라는 이름으로 알려져 있습니다.
위 그림과 같이 우리는 label 식별자를 사용하여 외부 반복을 지정합니다. 지금, 이 continue 문(continue label;)을 어떻게 사용하는지 주의해 주세요.
여기서 continue 문은 표시된 문장의 현재 반복(즉, 외부 반복)을 건너뜁니다. 그런 다음, 프로그램의 제어는 표시된 문장의 다음 반복(외부 반복)으로 이동합니다.
class LabeledContinue { public static void main(String[] args) { //외부 for 루프가 label로 표시됩니다. first: for (int i = 1; i < 6; ++i) { for (int j = 1; j < 5; ++j) { if (i == 3 || j == 2) //태그 반복 건너뜀(외부 for 루프) continue first; System.out.println("i = " + i + "; j = " + j); } } } }
출력:
i = 1; j = 1 i = 2; j = 1 i = 4; j = 1 i = 5; j = 1
위의 예제에서는 태그가 있는 continue 문을 사용하여 first로 표시된 루프의 현재 반복을 건너뜁니다.
if (i==3 || j==2) continue first;
여기서, 가장 외부의 for 루프가 first로 표시되어 있습니다.
first: for (int i = 1; i < 6; ++i) {..}
따라서, i의 값이3또는 j의 값이2하면 외부 for 루프의 반복을 건너뜁니다.
주의:대표적으로 태그가 있는 continue를 사용하지 않는 것이 좋습니다. 이는 코드가 이해하기 어려워질 수 있습니다. 태그가 필요한 경우 코드를 재구조화하고 다른 방식으로 해결하여 더 읽기 쉽게 만들어야 합니다.