처음부터 차근차근
Swift실습2 본문
반응형
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