반복문 제어 - break
반복문이 무한루프에 빠지지 않게 하기 위해 반복문을 제어하는 명령어가 있는데, break와 continue이다.
for i in 10...15{
print("break \(i) 시작-----")
if(i==13){ //13이면 for문 탈출.
break //반복문 탈출 -> 13끝이 출력되지 않고 반복문 종료.
}
print("break \(i) 끝-----")
}
print("break 종료-----")
"break 13 끝"이 출력되지 않은 채 반복문이 종료되었다. 이와 같이 break는 반복문을 종료하는 데에 사용된다.
반복문 제어 - continue
continue 명령문은 반복문의 실행구문을 수행하지않고 다음 반복문으로 넘어가는데에 사용된다.
for i in 10...15{
print("break \(i) 시작-----")
if(i==13){
continue //다음 반복순서로 넘김 -> 13끝이 출력되지 않고 14로 넘어간다.
}
print("break \(i) 끝-----")
}
print("break 종료-----")
break 명령문과 달리, "break 13 끝"의 출력을 건너뛰고 나머지 반복문을 수행하였다.
반복문 - while
조건을 만족하는 동안 실행구문을 반복한다.
while 조건 {
실행구문
}
var i = 10 //초기값
while i < 20 { //i가 20미만이면 반복수행
print("while 실행 \(i)")
i += 1 //i 1증가
}
주의 해야 할 점은 while문을 사용할 때 에는 조건을 false로 만들어줄 구문이 없다면 무한루프에 빠지게 된다는 점이다.
var i = 0
while true {
print("break start \(i)")
if i == 5 {
break //i가 5가 되면 종료
}
print("break finish \(i)")
i += 1 //i 증가
}
예시와 같이 종료 시점을 정해주는 것을 잊지 말자
readLine()
사용자의 입력을 받는 함수이다. 옵셔널 형태의 String을 반환한다.
print("입력:",terminator: "")
var text = readLine()
print(text)
while문과 readLine()을 통해 간단한 프로그램을 작성해보자. 사용자의 입력을 받고 그 중 짝수만 선택하여 합계와 평균을 구해본다.
var sum = 0 //합계를 저장할 변수 선언
var cnt = 0 //평균 계산을 위한 변수 선언
var avg = 0 //평균 값을 저장할 변수 선언
while true { //반복문 수행
print("입력:",terminator: "")
let input = readLine()! //사용자의 입력을 input변수에 담는다. 옵셔널 형태로 반환하기에 느낌표를 붙여준다.
if input == "x"{ //사용자의 입력이 x라면 반복문 종료.
break
}
let num = Int(input)! //사용자의 입력을 정수형태로 num에 대입
if num % 2 == 0{ //넘어온 사용자의 입력이 짝수인지 확인
cnt += 1 //평균을 구하기 위해 갯수 파악
sum += num //사용자의 입력 합산
avg = sum/cnt //평균 계산
}
print("number:\(num), total:\(sum), avg:\(avg)")
}
print("----------종료되었습니다. 합계:\(sum), 평균:\(avg)----------8")
사용자가 무엇을 입력했는지 보여주기 위해 변수 num은 계속 출력되지만 짝수일 경우에만 sum, avg에 반영되어 출력된다.
'iOS > TJ' 카테고리의 다른 글
day08_multiArray, tuple (0) | 2021.06.03 |
---|---|
day07_array (0) | 2021.06.02 |
day05_control flow_loop (0) | 2021.05.25 |
day04_control flow_conditional (0) | 2021.05.22 |
day03_operator, casting (0) | 2021.05.18 |