추천, 2024

에디터의 선택

중단과 계속 사이의 차이점

"중단"과 "계속"은 모두 프로그램의 다른 부분으로 제어권을 이전하는 '점프'문입니다. C ++은 'return', 'goto', 'break'및 'continue'와 같은 4 개의 점프 문을 지원합니다. Java는 'break' 'continue'및 'return'과 같은 3 개의 점프 명령문을 지원합니다. break와 continue의 가장 큰 차이점은 break는 루프의 즉시 종료에 사용되는 반면, continue는 현재 반복을 종료하고 루프의 다음 반복으로 제어를 다시 시작한다는 점입니다. C ++과 Java의 컨텍스트에서 break와 continue의 차이점을 알아 봅시다.

비교 차트 :

비교의 근거단절잇다
태스크
루프의 나머지 반복 실행을 종료합니다.루프의 현재 반복 만 종료합니다.
중단 후 제어 / 계속'break'는 프로그램의 제어를 'break'를 둘러싸는 루프의 끝까지 재개합니다.'continue'는 프로그램의 제어를 'continue'를 둘러싼 루프의 다음 반복으로 재개합니다.
원인루프의 조기 종료가 발생합니다.다음 반복의 초기 실행을 유발합니다.
계속'break'는 루프의 연속을 멈춘다.'계속'루프의 연속을 멈추지 않고 현재 반복 만 중지합니다.
기타 용도'break'는 'switch', 'label'과 함께 사용할 수 있습니다.'continue'는 'switch'및 'labels'을 사용하여 실행할 수 없습니다.

중단의 정의

C ++ break에는 switch 문에서 case의 실행을 종료하는 데 사용되는 두 가지 용도 만 있습니다. 둘째, "루프를 종료하고 루프를 따라 다음 명령문으로 제어를 재개"합니다. 그러나 Java break에는 먼저 세 가지 용도가 있습니다. switch에서 case를 종료하고, 두 번째로 break와 third를 둘러싼 루프를 종료합니다. 앞에서 언급했듯이 Java에서는 'goto'문을 제공하지 않지만 확장 된 형식 중단은에서 사용할 수 있습니다. 'goto'의 장소.

우리가 보자, 각각의 'break'의 사용법을 자세히 보자.

스위치의 대 / 소문자 실행을 종료하기 위해 먼저 사용합니다. switch in break는 스위치를 감싸는 스위치에만 영향을 미치며 스위치를 감싸는 루프에는 영향을 미치지 않습니다.

 // C ++ 문맥에서. // C ++ 컨텍스트에서 break in switch를 사용합니다. 스위치 (정수 표현) {case 1 : ..... ..... break; 사례 2 : ..... ..... 휴식; 사례 3 : ..... ..... 휴식; 기본값 : ....... .......} 

두 번째 사용 : 강제로 루프를 종료하고 루프의 다음 명령문에서 재개합니다. 루프 내에서 break 문이 발생하자마자 해당 루프 본문의 나머지 코드를 실행하지 않고 해당 루프가 즉시 종료되고 프로그램 컨트롤이 해당 루프 다음에 작성된 다음 문에 도달합니다.

 // break를 사용하여 Java 클래스 컨텍스트에서 루프를 종료합니다. main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {system.out.println ( "i :" + i); if (i == 10) break; // 'if'내부의 조건으로 satistfies 컨트롤이 'for'루프에서 나옵니다. } system.out.println ( "Loop breaks here"); }} 

break는 프로그램을 감싸는 루프를 빠져 나갑니다. break가 중첩 된 루프와 함께 사용되면 가장 안쪽의 루프 만 분리하고 외부 루프에는 영향을 미치지 않습니다.

세 번째 사용법으로 goto 형식으로 나누기를 사용합니다. Java는 문제없이 goto의 형태로 break를 사용합니다. goto는 이해하기 어려운 구조화되지 않은 분기를 제공하고 goto는 컴파일러 최적화를 금지하므로 Java는 goto와 유사한 break 확장 형식을 사용하고 한 번에 둘 이상의 블록을 종료하고 프로그램 제어를 다시 시작하는 데 도움을줍니다. break 문에 언급 된 레이블이 붙은 블록의 끝.

선언:

 레이블 끊기; 

여기서 "label"은 Java의 코드 블록 또는 식별자의 이름이며이 레이블이 지정된 블록은 break 문을 묶어야합니다. 레이블이 지정된 break 문은 중첩 루프 집합을 종료하는 데 사용됩니다. 레이블이 지정된 break 문이 발생하면 컨트롤은 break 문에서 언급 한 레이블이 지정된 블록을 종료합니다.
실질적으로 보자.

 // Java 클래스의 문맥에서 goto의 형태로 break를 사용 main_class {public static void main (string args []) {boolean t = true; first {second {third {system.out.println ( "이 세 번째 블록"); if (t) first break; } system.out.println ( "이 두 번째 블록"); } system.out.println ( "이 첫번째 블록"); } system.out.println ( "이 메인 블록"); }} // 출력 : 이것은 메인 블록 인 세 번째 블록입니다. 

이 코드에서 컨트롤이 세 번째 블록에 도달하면 print 문이 실행되고 그 후에 컨트롤이 'if'문으로 다시 시작되며 만족되면 레이블이있는 break 문이 실행됩니다. break가 붙은 라벨이 제일 먼저 붙어 있으므로, block의 끝 뒤에 쓰여진 statement, 즉 print 문인 main 블록에서 다시 시작하도록 제어한다.

계속의 정의

break는 루프의 나머지 반복을 종료하고 컨트롤이 루프를 빠져 나갈 수있게하기 때문에 여기에서 계속 작업은 다소 중단처럼 작동합니다. continue 문은 현재 반복에 대한 루프의 나머지 코드 실행을 중지하고 해당 루프의 다음 반복에 대한 컨트롤을 다시 시작합니다. continue 문은 현재 반복에 대한 코드를 건너 뛰고 컨트롤을 루프의 다음 반복으로 전달합니다.

예를 들어 이해해 봅시다.

 // C ++ 문맥에서 continue를 사용한다. // 100까지 짝수를 인쇄합니다. class main_class {public static void main (string args []) {for (int i = 0; i <100; i ++) {if (i % 2! = 0) continue; // continue for 루프에서 다음 반복으로 컨트롤을 계속합니다. system.out.println ( "i :"+ i); }}} 

위의 프로그램에서 'if'문이 만족되면 continue 문이 실행되고 다음 print 문을 실행하지 못하도록하고 'for'루프의 다음 반복까지 제어를 다시 시작합니다. i = 1이면 'if'조건이 충족되고 'i'의 홀수 값에 대한 print 문을 실행하지 않고 continue가 실행되고 컨트롤은 'for i = 2'루프의 다음 반복으로 재개됩니다. i = 2이면 'if'문이 만족되지 않습니다. continue가 실행되지 않고 print 문이 'i'값을 인쇄합니다.

중단과 계속의 주요 차이점

  1. 기본적으로 break 키워드는 루프의 나머지 반복 작업을 종료합니다. 반면 continue 키워드는 루프의 현재 반복 만 종료합니다.
  2. break 키워드가 실행되면 프로그램의 제어가 루프 밖으로 나가고 루프 다음의 명령문으로 재개됩니다. continue 키워드의 경우, 프로그램의 제어가 루프의 다음 반복으로 재개됩니다.
  3. 위의 단계가 끝나면 프로그램 중단 제어가 루프 밖으로 나가면 break가 모든 루프의 조기 종료를 유발한다는 것을 분명히 알 수 있습니다. 다른 한편, 현재의 반복만을 종료하고 루프의 다음 반복을 재개하면 continue가 루프의 다음 반복의 조기 실행을 야기한다고 말할 수 있습니다.
  4. break 키워드는 실행 후 나머지 반복을 모두 종료하므로 continue 키워드가 여전히 루프 실행을 계속하는 반면 반복의 중단을 중지한다고 말할 수 있습니다.
  5. break 키워드는 "switch"및 "label"과 함께 사용할 수 있지만 continue 키워드는 "switch"및 "label"과 함께 사용할 수 없습니다.

결론:

break와 continue 문은 모두 프로그램의 다른 부분으로 컨트롤을 전송하는 jump 문입니다. break 문이 컨트롤에서 루프를 빠져 나갈 수있는 경우 continue 문은 컨트롤을 해당 루프의 다음 반복으로 보냅니다.

Top