될때까지

개념정리 :: break와 continue 본문

학습/개념정리

개념정리 :: break와 continue

랖니 2022. 2. 27. 16:21
728x90
이 블로그에 정리되어있는 모든 개념들은 학습 개념으로 혼자 정리한 내용입니다.
잘못 기술한 부분이 있을 수 있으니 발견하시면 언제든지 지적해주세요😄

문제 풀이를 하면서 자꾸 헷갈리는 break와 continue를 정리해보자.


우선 break는 속해있는 가장 가까운 반복문을 깨고 나간다. 즉 반복문이 다 끝나지 않아도 탈출할 수 있는 명령어이다.

for x in range(1, 11):
    if x % 2 == 0:
        print(f'{x}는 2의 배수입니다.')
        break
    print(f'{x}는 2의 배수가 아닙니다.')
    
  
# 실행결과
# 1는 2의 배수가 아닙니다.
# 2는 2의 배수입니다.

위와 같은 코드를 실행하면, 첫 바퀴에 x는 1이 되고 if문의 조건에 일치하지 않기 때문에 맨 아래의 print문이 실행된다.그 다음 두번째 바퀴에서 x는 2가 되고 if문의 조건에 해당되어 첫번째 print문을 실행시킨다. 그 후 break를 만나 가장 가까운 for문을 탈출해 반복문의 사이클이 종료됨으로, 더이상의 print문이 실행되지 않게 된다.


continue는 해당 루프만 종료시키고 다음 루프를 실행시킨다. 즉 반복문을 건너 뛰는 개념이다.

for x in range(1, 11):
    if x % 2 == 0:
        continue
        print(f'{x}는 2의 배수입니다.')
    print(f'{x}는 2의 배수가 아닙니다.')
    
# 실행 결과
# 1는 2의 배수가 아닙니다.
# 3는 2의 배수가 아닙니다.
# 5는 2의 배수가 아닙니다.
# 7는 2의 배수가 아닙니다.
# 9는 2의 배수가 아닙니다.

첫 바퀴에 x는 1이 되고 if문의 조건에 일치하지 않기 때문에 맨 아래 print문이 실행되는 것은 break와 동일하다. 하지만 그다음 두번째 바퀴에서 x는 2가 되고 if문의 조건에 해당되므로 continue를 만나게 되는데, 이 때 아래의 print문을 실행시키지 않고 다음 루프인 x가 3일때로 시작점이 변경이 된다. 그래서 반복문은 끝까지 돌지만, x가 2로 나눠떨어질 경우 continue코드를 먼저 만나기 때문에 print문이 실행되지 않는다.


break는 말 그대로 탈출이고, continue는 말 그대로 다음 반복문을 이어가도록 해주는 아이구나.

정리했으니까 이제 헷갈리지 말자!😝

728x90

'학습 > 개념정리' 카테고리의 다른 글

개념정리 :: 쿠키, 세션, 캐시  (0) 2022.04.04
개념정리 :: 프로세스, 쓰레드  (0) 2022.04.04
개념정리 :: CORS?  (0) 2022.02.23
개념정리 :: JWT?  (0) 2022.02.22
개념정리 :: ORM?  (0) 2022.02.22