Swift 문법종합반 - 반복문

동그라미·2024년 11월 5일
1

7. 반복문

반복문은 배열이나 Dictionary 같은 Collection Type이나 범위를 반복적으로 접근할 때 사용합니다.

  • 배열은 동일한 데이터 타입의 값을 순서대로 저장하는 Collection Type중 하나입니다.
  • 대괄호를 사용하여 배열을 만들 수 있습니다.

let array = [1, 2, 3, 4, 5]
// [ ] 안에 데이터들을 넣으면 1,2,3,4,5가 들어가 있는 배열이 만들어집니다.

["봄", "여름", "가을", "겨울"] // 봄, 여름, 가을, 겨울이 저장되어 있는 배열이에요!


for 반복문

for in 을 사용하면 배열(Collection Type)과 범위의 숫자를 반복할 수 있습니다.

// 컬렉션 타입에 대한 for in 반복문

let names = ["Anna", "Alex", "Brian", "Jack"]

for name in names {
print(name)
}

// 출력 값
// Anna
// Alex
// Brian
// Jack

// 해석

let names = ["Anna", "Alex", "Brian", "Jack"] // names 상수에 배열로 순서대로 "Anna", "Alex", "Brian", "Jack"을 넣습니다.

for name in names { // names 배열 안에 있는 값들을 반복하여 아래 코드블록을 실행합니다. name에 배열의 데이터를 넣습니다.
print(name)
}

// 숫자의 범위를 사용한 for in 반복문

for index in 0...5 {
print(index)
}

// 출력 값
// 0
// 1
// 2
// 3
// 4
// 5

// 한국어 번역
for index in 0...5 {
// 0이상 5까지 숫자를 index에 할당하며 반복합니다.
print(index)
}


while 반복문

  • while 반복문은 조건이 true 인 동안 코드블록을 반복 실행합니다.
  • 조건이 false가 되면 반복을 종료합니다.

// while 뒤에 조건을 입력하여 사용합니다. 조건이 true이면 코드블록을 실행하고 false이면 코드블록이 실행되지 않고 다음으로 넘어갑니다.
while 조건 {
// 반복 실행할 코드
}

[코드스니펫] while 반복문 실습
var happyNewYearCount = 10

while happyNewYearCount > 0 {
print(happyNewYearCount)
happyNewYearCount -= 1
}

print("새해 복 많이 받으세요 :)")

/
출력 값
10
9
8
7
6
5
4
3
2
1
새해 복 많이 받으세요 :)
/

// 한국말로 풀어보기.

var happyNewYearCount = 10
// happyNewYearCount라는 이름의 변수에 10을 할당합니다.

while happyNewYearCount > 0 {
// happyNewYearCount가 0보다 크다면 코드블록을 반복하여 실행합니다.
print(happyNewYearCount)
happyNewYearCount -= 1 // happyNewYearCount에 1을 뺀 값을 할당합니다.
}

print("새해 복 많이 받으세요 :)")

while true {
print("결과가 항상 true여서 영원히 while 코드블록이 실행됩니다 🥲")
}

반복문에서 흐름제어를 도와주는 break continue(크고 진하게)


break

  • 반복문이나 switch에서 즉시 종료하고, 코드블록을 빠져나올 때 사용됩니다.
  • 반복문에서 더이상 반복이 필요 없을 때 사용합니다.
  • switch에서 특정 case에서 아무런 작업을 하지 않거나, 중간에 작업을 종료하고 싶을 때 사용합니다.

// for 반복문에서 더이상 반복이 필요없는 경우

for age in 15...99 {
print(age)

if age >= 20 {
	break
}

}

/
출력값 :
15
16
17
18
19
20
/

// 한국말로 풀어보기
for age in 15...99 {
// 15이상 99까지 반복하여 코드블록을 실행합니다. 현재 숫자는 age에 넣습니다.
print(age)

if age >= 20 { // age가 20이상이면 코드블록을 실행합니다.
	break        // 반복문을 종료합니다.
}

}

// while 반복문에서 더이상 반복이 필요없는 경우

var age = 15
while age < 100 {
print(age)

if age >= 20 {
	break
}

age += 1

}

/
출력값 :
15
16
17
18
19
20
/

// 한국말로 풀어보기
var age = 15 // age라는 이름의 변수에 값 15를 할당합니다.
while age < 100 { // age가 100 미만일 때 반복적으로 코드블록을 호출합니다.
print(age)

if age >= 20 { // 만약 age가 20보다 크거나 같을 때 아래 코드블록을 실행합니다.
	break // 반복문을 종료합니다.
}

age += 1 // age에 1을 더한 값을 할당합니다.

}

[코드스니펫] break문 실습

// 1. 조건문 switch에서 특정 case에서 아무런 행동을 하고싶지 않을 때

var age = 15

switch age {
case 15:
break
default:
print("15가 아니에요")
}

// case에서 아무런 행동을 하지 않을 때 코드가 없으면 빌드오류가 발생하기 때문에 break문을 사용합니다.

// 2. 조건문 switch에서 코드 중에 탈출하고 싶을 때

let score = 50
switch score {
case 50...:
print("50점 이상이시군요")
fallthrough
case 50:
print("딱 50점이시네요?")
break
print("저는 80점인데요~")
default:
print("공부를 더 하세요!")
}

/
출력 값:
50점 이상이시군요
딱 50점이시네요?
/

// 한국말로 풀어보기.
let score = 50 // score 라는 이름의 상수에 값 50을 할당합니다.

switch score { // score 상수를 switch 조건문 코드블록으로 넣습니다.
case 50...: // 50이상일 때 아래의 코드가 호출됩니다.
print("50점 이상이시군요")
fallthrough // 아래의 case도 확인합니다.
case 50: // score가 50일 때 아래의 코드를 호출합니다.
print("딱 50점이시네요?")
break // switch 코드블록
print("저는 80점인데요~") // 위에서 break를 사용하여 switch에서 탈출하여 실행되지 않는 코드입니다.
default:
print("공부를 더 하세요!")
}


continue

  • 반복문 안에서 현재 반복을 건너뛰고 다음 반복으로 넘어갈 때 사용합니다.

// for in 에서 continue를 사용하여 반복문을 건너뛰는 방법

for number in 1...5 {
if number % 2 == 0 {
continue
}

print(number)

}

/
출력 값
1
3
5
/

// 한국말로 풀어보기

for number in 1...5 { // 1이상 5이하까지 반복합니다. 현재 숫자는 number에 넣습니다.
if number % 2 == 0 { // number 에서 2를 나눴을 때 나머지가 0이면 아래의 코드블록을 실행합니다.
continue // 다음 반복문으로 바로 이동합니다. 아래의 코드는 실행하지 않습니다.
}

print(number)

}

// while에서 continue를 사용하여 반복문을 건너뛰는 방법

var number = 0

while number < 5 {
number += 1

if number % 2 == 1 {
    continue
}

print(number)    

}

/
출력 값
2
4
/

// 한국말로 풀어보기

var number = 0 // 변수 number에 0 값을 할당합니다.

while number < 5 { // number가 5 미만일 때 반복합니다.
number += 1 // number에 1을 더한값을 할당합니다.

if number % 2 == 1 { // number에 2를 나눈 나머지 값이 1일 때 코드블록을 실행합니다.
    continue
}

print(number)    

}

profile
맨날 최선을 다하지는 마러라. 피곤해서 못산다.
post-custom-banner

0개의 댓글