제어전송문(break, continue, fallthrough, return, throw)
1.반복문 (while/ for)에서 제어전송문 continue/ break
Ex1)
for num in 1...20 {
if num % 2 == 0 {
//break
//continue }
print(num)}
-continue: 위에서 continue 주석 제거하면 num % 2 == 0이 참일시에 print(num)을 무시하고 다시 for문으로 돌아가 반복을 수행함. 즉 1,3,5,7,9.. 가 출력됨. num % 2가 참이면 continue로 인해서 바로 그 다음 반복문을 실행
-break:: 위에서 break 사용시에 num % 2 == 0이 참일시에 반복문을 완전히 중지하고 실행을 끝냄. 즉 1만 출력
⭐️ break 키워드는 switch문에서는 조금 다른 역할로 쓰임(뭐가 다른지 아직 잘 모르겠음, 더 알아보기)
Ex2)
var n = 111
switch n {
case 0...49:
break //실행하는 문장이 없을때, 입력하는 필수 약속
case 50...99:
print("\(n)은 100 이내의 숫자")
case 100...999:
//여기에 fallthrough 하면 아래문장 무시하고 다음 블럭인 default "다시설정" 을 출력
print("\(n)은 100 이상")
//여기에 fallthrough 하면 print("\(n)은 100 이상") 와 default "다시설정" 을 출력
default:
print("다시설정") }
Ex3)
func kai() {
print("k")
print("a")
if true {
return
}
print("i")
}
kai() 함수 실행시에 항상 참인 if를 통해서 return 실행 후 작업을 중지, "i"는 출력 안됨.
반복문을 활용한 간단한 문제풀이
ex)구구단 문제
for i in 2...9 {
for j in 1...9 {
print("\(i) * \(j) = \(i * j)")
}
}
ex)3의 배수 찾기 문제
for i in 1...100 {
if i % 3 == 0 {
print("3의 배수 발견 : \(i)")
}
}