java break, cotinue, return 소개

break 문장 사용 하기 
자바 에서 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 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   “  ”   
   

좋은 웹페이지 즐겨찾기