Swift

[Swift] 제어 전달문 - break 문

효니로그 2024. 1. 4. 22:51

제어 전달문은 조건문과 반복문에서 사용하며, 코드의 실행흐름을 바꾸는 역할을 한다.

제어를 전달한다는 것은 현재 실행 중인 스코프를 종료하고 다음에 실행할 코드를 바로 실행하는 것이다.

Swift는 break 구문, continue 구문, fallthrough 구문, return 구문, throw 구문 이렇게 총 다섯 가지 제어 전달 구문이 있다.

 

[Swift] 제어 전달문 - continue 문

 

이 포스팅에서는 break 구문에 대해 공부한다.

 

break 구문 (Break Statement)

break문은 현재 실행 중인 문장을 종료한다.

 

 

Swich문에서 break문 사용하기

break문은 특정 조건에 따라서 블록을 이른 시점에 종료해야 할 때 사용할 수 있다.

 

위 코드에서 switch문을 사용하여 num의 값을 비교했을 때

num은 1이 대입되어 있고 1은 1에서 10 사이의 범위에 속하므로

case블록이 실행되어 "begin block"이 출력된다.

if문에서 num의 값이 홀수인지 확인하고 1은 홀수이므로(true) if블록이 실행되고,

break문을 만나면 현재 실행 중인 문장을 종료하므로 if문 이후에 나오는 코드블록은 실행되지 않고("end block" 실행되지 않음)

switch문도 종료된다.

 

만약 num의 값이 2라면

if블록의 조건이 성립되지 않으므로(false) if문이 실행되지 않는다. 즉 break문도 실행되지 않는다.

"begin block"과 "end block"이 출력되고 swich문이 종료된다.

 

 

isMultiple(of:)

func isMultiple(of other: Self) -> Bool

이 값이 주어진 값의 배수이면 true를 반환하고 그렇지 않으면 false를 반환한다.

other: 테스트할 값

👉 참고: https://developer.apple.com/documentation/swift/int/ismultiple(of:)

 

 

반복문에서 break문 사용하기

for in문으로 1부터 10까지 루프를 돌면서 index를 출력하는데

1부터 10까지 출력이 되어야 하지만

if문에서 index가 2가 되면 실행 중인 문장을 종료하므로

1과 2만 출력되고 반복문이 종료된다.

 

위 코드는 반복문을 중첩한 경우이다.

바깥쪽 루프와 안쪽 루프 모두 1부터 10까지 루프를 실행하지만

바깥쪽 루프가 한번 실행될 때 안쪽 루프는 두 번만 실행된다.

이유는 안쪽 루프에서 if문의 조건을 확인했을 때, j가 1보다 크다면 break를 실행한다.

안쪽 루프는 2가 되면 코드가 종료되지만 바깥쪽 루프의 경우 영향을 받지 않는다. 

 

 

 

'Swift' 카테고리의 다른 글

[Swift] 옵셔널 (Optional), nil  (0) 2024.01.06
[Swift] 제어 전달문 - continue 문  (0) 2024.01.05
[Swift] for in문  (0) 2024.01.04
[Swift] stride 함수  (0) 2024.01.04
[Swift] 범위 연산자  (1) 2024.01.04