3주차 강의는 실습코드들을 테스트해보며 변형하는 실습으로 swift 언어의 문법을 숙달하였다.
다음은 금일 강의를 들으며 실습한 코드들이다.
optional 실습코드
var x : Int =11 // nil을 집어넣으면 오류로그가 뜸.
print(x) // 11
var y : Int? // 기본값인 nil
print(y) //nil
var z : Int !=11
print(z) // optional(11)
optional 실습코드2
print(Int("1111")) //optional(1111)
print(Int("1.13")) //nil
print(Int("Kyung")) //nil
print(Double("1111")) //optional(1111.0)
print(Double("1.13")) //optional(1.13)
print(Double("Kyung")) //nil
unwrapping 실습코드
var x : Int?
var y : Int =0
x =10 // x = x!+10으로 바로 넘어가면, print에서 오류가 발생함
x = x !+11
y = x !
print(x)
print(x !) //nil값을 언래핑하면 오류가 뜸
print(y)
optional binding
var x : Int?
x =10
if let xa = x {
print(x !) //10}
else{ print("nil") }
var x1 : Int?
if var xb = x1{
print(x1 !) }
else{ print("nil") //nil }
optional binding2
var x : Double?
var y : String?
x =11.5
y ="매운갈비조림"
if let x = x, let y = y {
print(x,y) // 11.5 매운갈비조림
}
else{
print("nil")
}
두 가지 Optional 형 실습코드
let x : Int? =1
let y : Int !=10
let z = x
print(x,y,z) //Optional(1) Optional(10) Optional(1)
print(type(of:x),type(of:y),type(of:z)) //Optional<Int> Optional<Int> Optional<Int>
let a : Int = y
print(a) //10
let b = y
print(b) //Optional(10)
let c = y +20
print(c) //30
Any와 와 AnyObject
var x : Any ="kalbi"
print(x,type(of:x)) //kalbi String
x =10
print(x,type(of:x)) //10 Int
x =11.52
print(x,type(of:x)) //11.52 Double
비교 연산자
class Person {}
let person1 = Person()
let person2 = person1
let person3 = Person()
print(person1 === person2) // true
print(person1 === person3) // false
범위 연산자 과제 실행결과
let Gogis = ["갈비","목심","등심","살치살","부채살","안창살"]
for Gogis in Gogis[...2]{
print(Gogis) //갈비 목심 등심
}
for Gogis in Gogis[..<2]{
print(Gogis) //갈비 목심
}
_로 참조체(i) 생략 가능
for _ in 1...5 {
print("경준현", terminator:"") //경준현경준현경준현경준현경준현
}
print("\n")
for i in 1...5 {
print("\(i) 안녕")
}
//1 안녕
2 안녕
3 안녕
4 안녕
5 안녕
배열의 항목 접근
let names = ["A", "B", "C", "D", "D", "D", "D", "D"]
for namename in names {
print(namename,terminator:"") //ABCDDDDD
}
dictionary의 의 항목 접근
let numberOfLegs = ["Spider": 8, "Ant": 6, "Dog": 4,"Human" : 2]
//dictionary는 key:value형식의 배열
for (animalName, legCount) in numberOfLegs {
print("\(animalName)s have \(legCount) legs")
}/*Ants have 6 legs
Spiders have 8 legs
Humans have 2 legs
Dogs have 4 legs*/
while 반복문
var myCount =0
while myCount <1000{
myCount +=1
}
print(myCount) //1000, 999때 마지막으로 돌며 1을 더 더하기때문
repeat-while 반복문
var i =10
repeat {
i = i -1
print(i, terminator:" ") //9 8 7 6 5 4 3 2 1 0
} while (i >0)
반복문에서 빠져나오기 빠져나오기(break)
for i in 1..<10 {
if i >5 {break}
print(i,terminator:"") //12345
}
continue문
for i in 1...50{
if i % 5 ==0{
print(i,terminator:"/") //5/10/15/20/25/30/35/40/45/50/
}
continue
}
if문 문 조건에서 콤마의 의미 의미
var a =1
var b =2
var c =3
var d =4
if a < b && d > c {
print("yes") //yes
}
if a < b, d > c {
print("yes") //yes
}
if -else문
var x =111452623672
if x % 2 ==0 {
print("짝수입니다")
}else{
print("홀수입니다")
}
다중 if-else문
var num =21
if (num ==1 || num ==3){
print("당신은 남성이군요!\n")
}else if (num ==2 || num ==4){
print("당신은 여성이군요!\n")
}else {
print("당신은 대한민국 사람이 아니군요!\n")
}
다중 if-else문 : BMI 계산 결과 판정
let weight =80.0
let height =170.0
let bmi = weight /(height *height *0.0001) //kg/m*m
var body =""
if bmi >=40{
body ="3단계 비만"
} else if bmi >=30 , bmi <40 {
body ="2단계 비만"
} else if bmi >=25 , bmi <30 {
body ="1단계 비만"
} else if bmi >=18.5 , bmi <25 {
body ="정상"
} else {
body ="저체중"
}
print("BMI:\(bmi), 판정:\(body)")
//BMI:27.681660899653977, 판정:1단계 비만
'대학교 - 강의 > iOS프로그래밍기초' 카테고리의 다른 글
| iOS프로그래밍기초 6주차 레포트 (0) | 2021.10.08 |
|---|---|
| iOS프로그래밍기초 5주차 레포트 (0) | 2021.10.02 |
| iOS프로그래밍기초 4주차 레포트 (0) | 2021.09.26 |
| iOS프로그래밍기초 2주차 레포트 (0) | 2021.09.10 |
| iOS프로그래밍기초 1주차 레포트 (0) | 2021.09.10 |