반복문이란?
- 반복문이란 반복적으로 코드가 실행되게 만드는 구문을 말한다.
- 스위프트에는 while 문과 for-in 문이 대표적이다.
while 문
- while 문의 문법은 다음과 같고,
- 해당 조건이 참일 경우에만 코드가 반복해서 실행된다.
while 조건
{
}
while 문 예제
var dan:Int = 3
var gugu:Int = 1
while gugu < 10
{
var value = gugu * dan
print("3 x \(gugu) = \(value)")
gugu = gugu + 1
}
var inputValue:Int = 15
var totalNum:Int = 0
while inputValue > 0
{
totalNum = totalNum + inputValue
inputValue = inputValue - 1
}
print(totalNum)
var inputValue:Int = 14
var totalNum:Int = 0
totalNum = inputValue * (inputValue + 1) / 2
print(totalNum)
for-in 문과 범위 연산자
- for-in 문을 알아보기에 앞서 범위 연산자에 대해서 알아보자.
- 범위 연산자는
a...b
또는 a..<b
으로 표현된다. - 첫 번째는 a~b까지 정수형 숫자를 의미하고,
- 두 번째는 a~b-1까지 정수형 숫자를 의미한다.
- 스위프트에서는 다른 언어에서는 흔히 사용되는 for문 대신, for-in 문을 사용한다.
- 문법이 다음과 같다.
for element in sequenceData
{
}
for-in 문 예제
for gugu in 1...9
{
for dan in 1...9
{
print("\(gugu) x \(dan) = \(gugu*dan)")
}
print()
}
스위프트 함수?
- 함수는 작은 단위의 프로그램 즉, 명령문의 묶음이다.
- 프로그래밍에서 함수를 사용하는 이유는 간단하다.
- 코드 재사용으로 인해 시간, 메모리 공간, 크기를 절약 할 수 있고,
- 가독성 및 유지보수가 우수하기 때문이다.
스위프트 함수의 구조와 문법
func fName(paramName:type) -> type
{
}
스위프트 함수 예제
func add(num1:Int, num2:Int) -> Int
{
return num1 + num2
}
print(add(num1:2, num2:3))
func divide(num1:Int, num2:Int) -> String
{
if num2 == 0
{
return "num2에 0이외의 값을 넣어주세요"
} else
{
return "\(num1 / num2)"
}
}
print(divide(num1:10, num2:3))
print()
func sagac(what:String, width: Int, height: Int = 2) -> Int
{
var returnValue:Int = 0
if what == "square"
{
returnValue = width * width
return returnValue
} else if what == "rectangle"
{
returnValue = width * height
return returnValue
} else if what == "cube"
{
returnValue = width * width * width
return returnValue
} else
{
print("try another shape")
return returnValue
}
}
print(sagac(what: "cube", width: 2))
func cirhecone(what: String, r: Double, h: Double = 2.0) -> Double
{
var returnValue:Double = 0
if what == "circular"
{
returnValue = 3.141592 * r * r * h
return returnValue
} else if what == "sphere"
{
returnValue = 3.141592 * (4/3) * r * r * r
return returnValue
} else if what == "cone"
{
returnValue = (1/3) * 3.141592 * r * r * h
return returnValue
} else
{
print("try another shape")
return returnValue
}
}
print(cirhecone(what: "sphere", r: 4))