2014-04-22 5 views
2

먼저 내 초보자 용 질문. 나는 Objective C를 배우고 있으며 프로그래밍 자체가 매우 새롭다.휴식을 설명하고 Objective-C에 계속하십시오

당신은 내가 무엇을 중단 시키거나 루프 내부에서 계속하는지 설명 할 수 있습니까?

예를 들어, 두 코드의 차이점은 무엇입니까?

for (int i=0; i<100; i++) { 
     if ([self okToProceed]) { 
     [self doSomething]; 
     } else { 
     break; 
     } 
    } 

for (int i=0; i<100; i++) { 
     if ([self okToProceed]) { 
     [self doSomething]; 
     } else { 
     continue; 
     } 
    } 

은 첫 번째 코드는 루프를 처음 okToProceed false를 반환하고, 두 번째 루프는 단순히 okToProceed이 거짓 일 때 아무것도하지 않고 계속 실행하지만, 정지 할 것인가?

+4

"중단"및 "계속"은 Objective-C의 기반이되는 C 프로그래밍 언어의 키워드입니다. C 학습은 Objective-C 프로그래밍에 도움이 될 것입니다. 도움이되는 설명을 주신 덕분에 –

답변

14

break 문이 루프를 종료합니다.
루프 종료 조건을 생성하는 수단으로 생각할 수 있습니다.

예를 들어, 코드에서 for(int i=0; i<100; i++), i<100은 루프 조건입니다.
이 조건이 충족되지 않으면 루프가 종료됩니다.

마찬가지로 내부에 if(i == 34) { break; }과 같은 내용이 있습니다.
지정한 루프 종료 조건이 i<100인데도 i 값이 34가되면 루프가 종료됩니다.


continue 문은 다음 루프 주기로 건너 뛰는 데 사용됩니다.
이 문은 기본적으로 루프 내에서 나머지 코드를 실행하지 않도록하기 위해 사용됩니다.

예 :이 루프 0 1 2 4를 인쇄합니다

for(i=0; i<5; i++) { 
    if(i == 3) { 
     continue; 
    } 
    print(i); 
} 

.
i이 3 일 때 continue은 다음 루프 반복으로 건너 뛰고 continue (, 즉 print(i);) 이후의 명령문은을 실행하지 않습니다.
물론 루프가 실행되기 전에 루프 조건이 검사됩니다.

+0

감사합니다 !!!!!!!!!!!!!! – UFO

+1

'break'와'continue'는 본질적으로'goto'의 한 형태입니다. 중첩 된 루프에서 'goto'를 사용하여 부모 루프를 중단하거나 계속할 수 있습니다. – Sulthan

6

break은 루프를 완전히 종료합니다. continue은 현재 반복을 건너 뛰고 다음 반복을 계속 수행합니다. 이제 i을 가정 해 봅시다에서 루프의 예를 들어

50 같다 당신은 루프는 루프를 종료합니다 break 넣어하지만 continue를 사용하는 경우는이 반복을 생략하고 그 다음 하나를 시작합니다 - i은 동일합니다 (51)

+0

!!! – UFO

관련 문제