출처 : smileHan - iOS 프로그래밍 기초

class Person {}
let person1 = Person()
let person2 = person1
let person3 = Person()
print(person1 === person2) // true
print(person1 === person3) // false


class MyClass {
String name;
MyClass(String name) {
this.name = name;
}
void greet() {
System.out.println("안녕하세요, " + name + "님!");
}
public static void main(String[] args) {
MyClass obj = new MyClass("뤼튼"); // 객체 생성
obj.greet(); // 메서드 호출
}
}

let names = ["A", "B", "C", "D"]
for name in names[...1] {
print(name)
}
결과
A
B
let names = ["A", "B", "C", "D"]
for name in names[1...] {
print(name)
}
결과
B
C
D



- 이런 식으로 쓰면 에러
let anotherCharacter: Character = "a" switch anotherCharacter { case "a": // Invalid, the case has an empty body case "A": print("A글자") default: print("A글자 아님") } //error: 'case' label in a 'switch' should have at least one executable statement




예시
var x : Int = 10 print(x) var y : Int? print(y) // 여기서 y!를 입력하면 에러가 뜸결과
10
nil


예시
var x : Int = 10 var y : Int? = 20 y = y! + 1 print (y!) // !가 없으면 Optional(21) 가 나옴결과
21 // !가 없으면 Optional(21) 가 나옴

forced unwrapping
var x : Int? x = 10 if x != nil { // 띄어쓰기를 제대로 해줘야함. 대입연산자와 옵셔널 타입이 혼동되기 때문 print(x!) } else { print("nil") }

3가지 방법이 있다
var x : Int? x = 10 if let x { print(x) }결과
10
코드
var x : Int? x = 10 if let xx = x { print(x, xx) }결과
Optional(10) 10
코드
var x1 : Int? if let xx = x1 { //옵셔널 변수 x1이 값이 없어서 if문의 조건이 거짓이 되어 if문 실행하지 않고 else로 감 print(xx) } else { print("nil") }결과
nil
코드
var x : Int? var y : Int? x = 10 y = 20 // var x : Int? = 10 // var y : Int? = 20 <br> if let xx = x { print(xx) } else { print("nil") } if let yy = y { print(yy) } else { print("nil") }결과
10
20

코드
var x : Int? = 10 var y : Int! = 20 // 느낌표로 선언함 var z : Int = 1 print (x,y,z) z = x! + 1 print(z) z = y + 1 print(z) if let x, let y { print(x,y) }결과
Optional(10) Optional(20) 1
11
21
10 20

코드
var x : Int? = 10 // 10을 넣지 않으면 결과가 nil로 출력됨 var y : Int = 0 y = x ?? 1 print(x,y)결과
Optional(10) 10 // 10을 넣지 않으면 결과가 nil로 출력됨