처음부터 차근차근

Swift실습2 본문

프로그래밍/Swift

Swift실습2

_soyoung 2021. 9. 17. 13:53
반응형
var number1 : Int = 1
print(number1)
var number2 : Int? = 2
print(number2)
// 결과 : 1
//Optional(2)



var number2 : Int! = 2
print(number2)
//결과 : Optional(2)



var number2 : Int!
print(number2)
//결과 : nil



var number2 : Int? = 1
number2 = 5
print(number2)
// 결과 : Optional(5)



var number1 = Int("10")
print(number1)
//결과 : Optional(10)



var number1 = Int("Hello World!")
print(number1)
//결과 : nil



var number1 : Int? = 1 // Optional(1)
var number2 : Int? // nil들어감
if number1 != nil {
    print("forced unwrapping 합니다!", number1!)
}
else {
    print("nil이 들어가있습니다.")
}
if number2 != nil {
    print("forced unwrapping 합니다!", number2!)
}
else {
    print("nil이 들어가있습니다.")
}
// 결과 : forced unwrapping 합니다! 1
//nil이 들어가있습니다.



var number1 : Int? = 1 // Optional(1)
var number2 : Int? // nil들어감
if let unwrappingNumber1 = number1 {
    print("number1을 forced unwrapping한 값입니다. ", unwrappingNumber1)
}
else {
    print("변수 number1에 nil이 들어가있습니다.")
}
if var unwrappingNumber2 = number2 {
    print("number1을 forced unwrapping한 값입니다.", unwrappingNumber2)
}
else {
    print("변수 number2에 nil이 들어가있습니다.")
}
//결과 : number1을 forced unwrapping한 값입니다.  1
//변수 number2에 nil이 들어가있습니다.



var word1 : String? = "컴퓨터" 
var word2 : String? = "소프트웨어" 
var word3 : String? = "학과" 
if let Word1 = word1, let Word2 = word2, let Word3 = word3{
    print(Word1 + Word2 + Word3)
    print(word1, word2, word3)
}
else {
    print("nil이 들어가있습니다.")
}
//결과 : 컴퓨터소프트웨어학과
//Optional("컴퓨터") Optional("소프트웨어") Optional("학과")



let number1 : Int? = 10
let number2 : Int = number1!
let number3 : Int! = 10
let number4 : Int = number3 // Implicitly Unrapped Optional : 강제로 unwrap함(?로 초기화한 것은 안됨)
let number5 = number1
let number6 = number3
let number7 = number3 + 10 // 강제로 unwrap
print(number1, number2, number3, number4, number5, number6, number7)
print(type(of:number1), type(of:number2), type(of:number3), type(of:number4), type(of:number5), 
type(of:number6), type(of:number7))
//결과 : Optional(10) 10 Optional(10) 10 Optional(10) Optional(10) 20
//Optional<Int> Int Optional<Int> Int Optional<Int> Optional<Int> Int



var anyTest : Any = 1 // AnyObject타입 : 어떤 타입이던 가능함
print(anyTest, "type :", type(of:anyTest))
anyTest = "soyoung"
print(anyTest, "type :", type(of:anyTest))
anyTest = 1.25
print(anyTest, "type :", type(of:anyTest)
//결과 : 1 type : Int
//soyoung type : String
//1.25 type : Double



var opNum : Int? = 1
var intNum = 2
opNum = opNum! + intNum
print(opNum)
opNum = intNum
print(opNum)
//결과 : Optional(3)
//Optional(2)



var boolVar : Bool?
var number1 = 5
var number2 = 15
boolVar = number1 > number2
print(boolVar)
//결과 : Optional(false)



class Animal {}
let tiger = Animal()
let cat = tiger
let dog = Animal()
print(tiger === cat) // === : 메모리 주소 같은지
print(dog === cat)
//결과 : true
//false



let hello = ["안", "녕", "하", "세", "요"]
var helloString : String = ""
for helloVar in hello{
    helloString += helloVar
}
print(helloString)
helloString = ""
for helloVar in hello[3...]{
    helloString += helloVar
}
print(helloString)
helloString = ""
for helloVar in hello[...1]{
    helloString += helloVar
}
print(helloString)
helloString = ""
for helloVar in hello[..<2]{
    helloString += helloVar
}
print(helloString)
//결과 : 안녕하세요
//세요
//안녕
//안녕



let number1 = 10
let number2 = 11
print("더 작은 수는 \(number1 > number2 ? number2 : number1) 입니다")
//결과 : 더 작은 수는 10 입니다



let difaultSoundVolume = 10.0
var userSoundVolume : Double?
var nowVolume = userSoundVolume ?? difaultSoundVolume
print("현재 볼륨은 \(nowVolume)입니다") // default값 나옴
userSoundVolume = 15.2
print(userSoundVolume) // optional
nowVolume = userSoundVolume ?? difaultSoundVolume
print("현재 볼륨은 \(nowVolume)입니다")
print(type(of:nowVolume)) // userSoundVolume이 unwrapping되어 Double형이 출력됨
// 결과 : 현재 볼륨은 10.0입니다
//Optional(15.2)
//현재 볼륨은 15.2입니다
//Double



for number in 10...20 {
    print(number, terminator:"")
}
print("\n")
for _ in 1...10 { // 변수 생략 가능
    print("soyoung", terminator:" ")
}
//결과 : 1011121314151617181920
//soyoung soyoung soyoung soyoung soyoung soyoung soyoung soyoung soyoung soyoung 


let number = [1, 2, 3, 4, 5]
for num in number {
    print(num)
}
//결과 : 1
//2
//3
//4
//5



let numberOfStudent = ["Ann" : 001, "Jane" : 002, "Tom" : 003]
for (name, studentNumber) in numberOfStudent {
    print("\(name)'s number is \(studentNumber).")
}
//결과 : Ann's number is 1.
//Tom's number is 3.
//Jane's number is 2.



var countDown = 11
while countDown > 0 {
    countDown -= 1
    print(countDown, terminator:" ")
}
print("ddang!")
//결과 : 10 9 8 7 6 5 4 3 2 1 0 ddang!



var countDown = 11
repeat {
    countDown -= 1
    print(countDown, terminator:" ")
}while (countDown > 0) 
print("ddang!")
//결과 : 10 9 8 7 6 5 4 3 2 1 0 ddang!



let word = ["a", "b", "c", "d"]
for num in word {
    print(num, terminator:"")
    if num == "c" { // 괄호 반드시 쳐야함!
        break
    }
}
//결과 : abc



let word = ["a", "b", "c", "d"]
for num in word {
    if num == "c" { 
        continue
    }
    print(num, terminator:"")
}
//결과 : abd



let word = ["a", "b", "c", "d"]
if word.contains("b") {
    print("b를 가지고 있습니다.")
}
//결과 : b를 가지고 있습니다.



let word = ["a", "b", "c", "d"]
if word.contains("b") && word.contains("c") {
    print("b와 c를 가지고 있습니다.")
}
if word.contains("b"), word.contains("c") { // 결과는 같음
    print("b와 c를 가지고 있습니다.")
}
//결과 : b와 c를 가지고 있습니다.
//b와 c를 가지고 있습니다.



let word = ["a", "b", "c", "d"]
if word.contains("e") {
    print("e를 가지고 있습니다.")
}
else{
    print("e를 가지고 있지 않습니다.")
} 
//결과 : e를 가지고 있지 않습니다.



let word = ["a", "b", "c", "d"]
if word.contains("e") {
    print("e를 가지고 있습니다.")
}
else if word.contains("f"){
    print("f를 가지고 있습니다.")
}
else{
    print("e와 f를 가지고 있지 않습니다.")
}
//결과 : e와 f를 가지고 있지 않습니다.



let score = 95
print("당신의 성적은")
if score <= 100 && score >= 95 {
    print("A+입니다.")
} 
else if score <= 94 && score >= 90 {
    print("A입니다.")
}
else if score <= 89 && score >= 80 {
    print("B입니다.")
}
else if score <= 79 && score >= 70 {
    print("C입니다.")
}
else if score <= 69 && score >= 60 {
    print("D입니다.")
}
else{
    print("F입니다.")
}
//결과 : 당신의 성적은
//A+입니다.

 

 

 

출처 : iOS프로그래밍기초(21-2학기)한성현교수 강의 내용 변형 및 요약

반응형

'프로그래밍 > Swift' 카테고리의 다른 글

Swift 문법 정리 3  (0) 2021.09.26
Swift 실습 3  (0) 2021.09.25
Swift 문법 정리 2  (0) 2021.09.17
Swift의 변수와 상수, 튜플 - 실습  (0) 2021.09.16
Swift의 변수와 상수, 튜플  (0) 2021.09.12
Comments