java break, cotinue, return 소개
자바 에서 break 문 구 는 세 가지 역할 을 한다.
첫째, switch 문장 에서 문장 서열 을 중지 하 는 데 사 용 됩 니 다.
둘째, 그것 은 순환 에서 물 러 나 는 데 사 용 될 수 있다.
셋째, 그것 은 '선진 적' 인 goto 문장 으로 사용 할 수 있다.
다음은 마지막 두 가지 용법 에 대해 설명 한다.
break 사용 순환 종료 break 문 구 를 사용 하여 순환 체 의 다른 구문 과 순환 조건 테스트 를 무시 할 수 있 습 니 다.순환 중 에 break 문 구 를 만 났 을 때 순환 이 종료 되 고 프로그램 이 순환 뒤의 문 구 를 제어 하여 다시 시작 합 니 다.다음은 간단 한 예 이다.
// Using break to exit a loop.
class BreakLoop
{
public static void main(String args[])
{
for(int i=0; i<100; i++)
{
if(i == 10) break; // terminate loop if i is 10
System.out.println("i: " + i);
}
System.out.println("Loop complete.");
}
}
이 프로그램 은 다음 과 같은 출력 을 만 듭 니 다:
i: 0
i: 1
i: 2
i: 3
i: 4
i: 5
i: 6
i: 7
i: 8
i: 9
Loop complete.
보시 다시 피 for 순환 은 0 에서 99 로 설계 되 었 지만 i 가 10 일 때 break 문 구 는 프로그램 을 종료 합 니 다.break 문 구 는 사람들 이 의도 적 으로 설정 한 무한 순환 을 포함 하여 모든 자바 순환 에 사용 할 수 있 습 니 다.예 를 들 어 이전 프로그램 을 while 순환 으로 다음 과 같이 고 칩 니 다.이 프로그램의 출력 은 방금 본 출력 과 같다.
break , 。 :
// Using break with nested loops.
class BreakLoop3
{
public static void main(String args[])
{
for(int i=0; i<3; i++)
{
System.out.print("Pass " + i + ": ");
for(int j=0; j<100; j++)
{
if(j == 10) break; // terminate loop if j is 10
System.out.print(j + " ");
}
System.out.println();
}
System.out.println("Loops complete.");
}
}
이 프로그램 은 다음 과 같은 출력 을 만 듭 니 다:
Pass 0: 0 1 2 3 4 5 6 7 8 9
Pass 1: 0 1 2 3 4 5 6 7 8 9
Pass 2: 0 1 2 3 4 5 6 7 8 9
Loops complete.
이 를 통 해 알 수 있 듯 이 내부 순환 에서 break 문 구 는 이 순환 만 중지 하고 외부 순환 은 영향 을 받 지 않 는 다.
break 에 대해 서 는 여기 서 두 가 지 를 기억 해 야 합 니 다.우선, 하나의 순환 중 하나 이상 의 break 문 구 를 가 질 수 있다.그러나 너무 많은 break 문 구 는 코드 구 조 를 파괴 할 수 있 으 니 조심해 야 한다.그 다음으로 switch 문장의 break 는 이 switch 문장 에 만 영향 을 주 고 그 어떠한 순환 에 도 영향 을 주지 않 습 니 다.
주의: break 는 정상 적 인 순환 종료 방법 을 제공 하기 위해 설계 되 지 않 았 습 니 다.순환 의 조건 문 구 는 전문 적 으로 순환 을 중지 하 는 데 쓰 인 다.어떤 특수 한 상황 에서 만 break 문 구 를 사용 하여 순환 을 취소 합 니 다.
break 를 goto 의 한 형식 으로 사용 합 니 다.
break 문 구 는 switch 구문 과 순환 에서 사용 되 는 것 을 제외 하고 goto 문장의 '문명' 형식 으로 도 사용 할 수 있다.자바 에는 goto 문구 가 없습니다. goto 문 구 는 프로그램 실행 절 차 를 바 꾸 는 비 구조 화 방식 을 제공 하기 때 문 입 니 다.이것 은 보통 프로그램 을 이해 하기 어렵 고 유지 하기 어렵다.그것 도 일부 컴 파일 러 의 최 적 화 를 막 았 다.그러나 일부 지역 에 서 는 goto 문 구 는 구조 절차 통제 에 유용 하고 합 법 적 이다.예 를 들 어 깊 은 순환 에서 빠 질 때 goto 문 구 는 도움 이 된다.따라서 자바 는 break 문장의 확장 형식 을 정의 하여 이러한 상황 을 처리 했다.이러한 형식의 break 를 사용 하면 하나 또는 몇 개의 코드 블록 을 중지 할 수 있 습 니 다.이 코드 블록 들 은 순환 이나 switch 문장의 일부분 이 아니 라 모든 블록 일 수 있 습 니 다.그리고 이러한 형식의 break 문 구 는 라벨 이 있 기 때문에 어디서 다시 시작 할 지 명확 하 게 지정 할 수 있다.break 가 가 져 다 준 것 은 goto 의 이점 이 고 goto 문구 가 가 져 온 번 거 로 움 을 버 리 는 것 을 보 게 될 것 이다.
태그 break 문장의 일반적인 형식 은 다음 과 같 습 니 다.
break label;
여기, 라벨 label 은 표지 코드 블록의 라벨 입 니 다.이러한 형식의 break 가 실 행 될 때 지정 한 코드 블록 을 제어 합 니 다.탭 이 붙 어 있 는 코드 블록 은 break 문 구 를 포위 해 야 하지만 break 블록 을 직접 포위 할 필 요 는 없습니다.이것 은 탭 을 추가 한 break 문 구 를 사용 하여 일련의 내장 블록 을 종료 할 수 있다 는 것 을 의미한다.그러나 break 문 구 를 사용 하여 break 문 구 를 포함 하지 않 은 코드 블록 으로 제어 할 수 없습니다.
코드 블록 을 지정 하려 면 시작 에 탭 을 추가 하면 됩 니 다.탭 (label) 은 합 법 적 이 고 효과 적 인 자바 식별 자 뒤에 짝 퉁 을 붙 일 수 있 습 니 다.블록 에 라벨 을 붙 이면 이 라벨 을 break 문장의 대상 으로 사용 할 수 있 습 니 다.이렇게 하면 탭 을 추가 한 블록의 끝 을 다시 시작 할 수 있 습 니 다.예 를 들 어, 아래 프로그램 은 세 개의 플러그 인 블록 을 예 시 했 는데, 각각 자신의 라벨 이 있다.break 문 구 는 실행 을 앞으로 뛰 게 하고 태그 second 로 정 의 된 코드 블록 의 끝 을 바 꾸 었 으 며 println () 문 구 를 2 개 건 너 뛰 었 습 니 다. // Using break as a civilized form of goto.
class Break
{
public static void main(String args[])
{
boolean t = true;
first: {
second: {
third: {
System.out.println("Before the break.");
if(t) break second; // break out of second blockSystem.out.println("This won't execute");
}
System.out.println("This won't execute");}System.out.println("This is after second block.");
}
}
}
, :
Before the break.
This is after second block.
break 。 , , :
// Using break to exit from nested loops
class BreakLoop4
{
public static void main(String args[])
{
outer: for(int i=0; i<3; i++)
{
System.out.print("Pass " + i + ": ");
for(int j=0; j<100; j++)
{
if(j == 10) break outer; // exit both loops
System.out.print(j + " ");
}
System.out.println("This will not print");
}
System.out.println("Loops complete.");
}
}
이 프로그램 은 다음 과 같은 출력 을 만 듭 니 다:
Pass 0: 0 1 2 3 4 5 6 7 8 9 Loops complete.
내부 순환 이 외부 순환 으로 물 러 날 때 두 순환 이 모두 중단 되 는 것 을 볼 수 있다.탭 이 break 를 둘 러 싼 블록 에서 정의 되 지 않 으 면 이 탭 을 break 할 수 없다 는 것 을 기억 하 세 요.예 를 들 어 다음 프로그램 은 불법 이 며 컴 파일 되 지 않 습 니 다. // This program contains an error.
class BreakErr
{
public static void main(String args[])
{
one: for(int i=0; i<3; i++)
{
System.out.print("Pass " + i + ": ");
}
for(int j=0; j<100; j++)
{
if(j == 10) break one; // WRONG
System.out.print(j + " ");
}
}
}
one break , 。
continue
。 , , 。 ,goto , 。continue break 。 while do while ,continue , 。 for , , , 。 3 , 。 continue , 2 : // Demonstrate continue.
class Continue
{
public static void main(String args[])
{
for(int i=0; i<10; i++)
{
System.out.print(i + " ");
if (i%2 == 0) continue;
System.out.println("");
}
}
}
%( ) i , , 。 : 0 1 2 3 4 5 6 7 8
9 break ,continue 。 continue 0 9 : // Using continue with a label.
class ContinueLabel
{
public static void main(String args[])
{
outer: for (int i=0; i<10; i++)
{
for(int j=0; j<10; j++)
{
if(j > i)
{
System.out.println();
continue outer;
}
System.out.print(" " + (i * j)); }
}
System.out.println();
}
}
}
continue j i 。 : 0 0 1 0 2 4 0 3 6 9 0
4 8 12 16 0 5 10 15 20 25 0 6 12 18 24 30 36 0 7 14 21 28 35 42 49 0 8 16 24 32 40 48 56 64 0
9 18 27 36 45 54 63 72 81 continue , Java , 。 , ,continue 。
return
return。return 。 ,return 。 , 。 return 7 , 。 ,return 。 。 , Java main() , ,return Java 。
// Demonstrate return.
class Return
{
public static void main(String args[])
{
boolean t = true;
System.out.println("Before the return.");
if(t) return; // return to caller
System.out.println("This won't execute.");
}
}
: Before the return. , println( ) 。 return , 。 ,if(t) 。 ,Java “ ”(unreachable
code ) , println () 。 , , if “ ”
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.