continue와 break는 반복문(for, while, repeat-while)에서 자주 사용된다break 문break 문은 현재 실행 중인 반복문이나 switch 문을 즉시 종료하는 역할을 한다break를 만나면 해당 반복문을 빠져나오고, 남은 반복 횟수는 무시된다break를 사용하는 이유// 특정 숫자를 찾으면 반복문 종료
for number in 1...10 {
print(number)
if number == 5 {
print("5를 찾았으므로 반복문 종료!")
break
}
}
// 실행 결과
1
2
3
4
5
5를 찾았으므로 반복문 종료!
// while문에서 조건 만족 시 종료
var count = 1
while count <= 10 {
print("count: \(count)")
if count == 3 {
print("카운트가 3이 되었으므로 종료!")
break
}
count += 1
}
// 실행 결과
count: 1
count: 2
count: 3
카운트가 3이 되었으므로 종료!
continue 문continue를 사용하는 이유// 짝수만 출력
for number in 1...10 {
if number % 2 != 0 {
continue // 홀수는 건너뛴다.
}
print(number)
}
// 실행 결과
2
4
6
8
10
// 특정 숫자를 건너뛰기
for number in 1...5 {
if number == 3 {
print("3은 건너뛴다!")
continue
}
print("number: \(number)")
}
// 실행 결과
number: 1
number: 2
3은 건너뛴다!
number: 4
number: 5
for i in 0...3 {
print("OUTER \(i)")
for j in 0...3 {
if i > 1 {
print(" j :", j)
continue
}
print(" INNER \(j)")
}
}
// 실행 결과
OUTER 0
INNER 0
INNER 1
INNER 2
INNER 3
OUTER 1
INNER 0
INNER 1
INNER 2
INNER 3
OUTER 2
j : 0
j : 1
j : 2
j : 3
OUTER 3
j : 0
j : 1
j : 2
j : 3
for i in 0...3 {
print("OUTER \(i)")
for j in 0...3 {
if i > 1 {
print(" j :", j)
break
}
print(" INNER \(j)")
}
}
// 실행 결과
OUTER 0
INNER 0
INNER 1
INNER 2
INNER 3
OUTER 1
INNER 0
INNER 1
INNER 2
INNER 3
OUTER 2
j : 0
OUTER 3
j : 0
break 와 continue 차이점 정리| 구분 | break | continue |
|---|---|---|
| 동작 방식 | 반복문을 완전히 종료 | 현재 반복만 건너뛰고 다음 반복으로 진행 |
| 사용 예 | 특정 조건에서 반복을 완전히 멈출 때 | 특정 조건을 건너뛰고 다음 반복을 실행할 때 |
| 예제 | 5를 찾으면 반복 종료 | 홀수를 건너뛰고 짝수만 출력 |
for, while)이나 switch 문에서 특정한 반복문을 명확하게 지정하여 제어할 수 있도록 레이블(Labeled Statments)을 사용할 수 있다break 와 contitnue 는 가장 가까운 반복문에만 영향을 주지만, 레이블을 사용하면 특정한 반복문을 지정하여 break 또는 continue 를 적용할 수 있다레이블 이름: 을 붙여 반복문을 특정하고, break 레이블 이름 또는 continue 레이블 이름 으로 원하는 반복문을 조작할 수 있다레이블이름: while 조건 {
// 코드
break 레이블이름 // 특정 반복문을 종료
continue 레이블이름 // 특정 반복문의 다음 반복 실행
}
break in Labeled Statements기본적인 break는 가장 가까운 반복문만 종료하지만, 레이블을 사용하면 외부 반복문을 종료할 수 있다
// 중첩된 반복문에서 빠져나오기
outerLoop: for i in 1...3 {
for j in 1...3 {
print("i: \(i), j: \(j)")
if i == 2 && j == 2 {
print("레이블을 사용하여 전체 반복문 종료!")
break outerLoop // 바깥쪽 for문을 종료
}
}
}
// 실행 결과
i: 1, j: 1
i: 1, j: 2
i: 1, j: 3
i: 2, j: 1
i: 2, j: 2
레이블을 사용하여 전체 반복문 종료!
continue in Labeled Statements기본적인 continue는 가장 가까운 반복문의 다음 루프로 이동하지만, 레이블을 사용하면 외부 반복문의 다음 루프로 바로 이동할 수 있다
// 바깥쪽 루프의 다음 반복 실행하기
outerLoop: for i in 1...3 {
for j in 1...3 {
if j == 2 {
print("j가 2일 때 바깥쪽 반복문으로 이동!")
continue outerLoop // 바깥쪽 for문의 다음 반복 실행
}
print("i: \(i), j: \(j)")
}
}
// 실행 결과
i: 1, j: 1
j가 2일 때 바깥쪽 반복문으로 이동!
i: 2, j: 1
j가 2일 때 바깥쪽 반복문으로 이동!
i: 3, j: 1
j가 2일 때 바깥쪽 반복문으로 이동!