Swift 제어전송문

김형준·2023년 6월 9일
0

Swift

목록 보기
4/6

제어전송문(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문에서는 조금 다른 역할로 쓰임(뭐가 다른지 아직 잘 모르겠음, 더 알아보기)

  1. Switch에서 제어전송문 break / fallthrough
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("다시설정")  }
  1. 함수(Function)에서 제어전송문 return
Ex3)
func kai() {
    print("k")
    print("a")
   if true {
        return
         }
    print("i")
}

kai() 함수 실행시에 항상 참인 if를 통해서 return 실행 후 작업을 중지, "i"는 출력 안됨.

  1. throw (추후 다시 다루겠음)..아직 정확히 모름 ㅠㅠ
    함수에서 return으로 작업이 중지 되는 것과 동일한 역할, 즉 에러를 던지고 함수를 중지하는 개념

반복문을 활용한 간단한 문제풀이

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)")
    }
}
profile
기억보단 기록, 느리더라도 꾸준히

0개의 댓글