Swift 데이터 타입과 연산자

  1. 변수와 상수
    1. 변수 : 처음 값이 대입된 후에 값을 변경할 수 있는 상태를 의미한다.
      1. 선언 방법 : 'var' 키워드를 이용하여 선언
        • 변수 선언과 초기값을 같이 선언
          예) var value = 1
        • 변수 선언과 초기값을 분리하여 선언 시 반드시 타입 선언을 해야한다.
          예) var value : Int
                value = 10
    2. 상수 : 처음 값이 대입된 후에 값을 변경할 수 없는 상태를 의미한다.
      1. 선언 방법 : 'let' 키워드를 이용하여 선언
        예) let value = 1
    3. 타입 선언과 자주 접하는 에러
      1. 타입 정보가 있는 경우 타입 선언을 생략할 수 있다.
        예) var index = 10 (타입 선언 생략)
      2. 타입 정보가 없으면 타입 선언을 생략할 수 없다.
        예) var index (타입 생략 불가능)
      3. 변수의 타입과 대입 값의 타입이 다르면 에러가 발생한다.
        예) var value1 = 10
        value1 = 10.1 (에러발생)
      4. 서로 다른 타입 간의 연산을 하는 경우 에러가 발생한다.
        예) var intNum = 1
        var floatNum = 3.14
        var test = intNum + floatNum
      5. 상수로 선언 시에는 변경을 시도하려고 하면 에러가 발생한다.
        예) let testNum = 100
        testNum = 10
  2. 기본 데이터 타입
    1. 부울 : Bool
      1. 타입 선언 : Bool
      2. 값 : true, false
    2. 정수 : Int, UInt
      1. 타입 선언 : Int, UInt(unsigned int), Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64
      2. 값 범위
        1. 각 타입 별 값의 범위 확인하는 방법
          1. Int : Int.min, Int.max 로 범위를 확인한다.
          2. UInt : UInt.min, UInt.max 로 범위를 확인한다.
    3. 실수 : Float, Double
      1. 타입 선언 : Float, Double(기본타입)
      2. 값 범위
        1. 각 타입 별 값의 범위 확인하는 방법
          1. Float : Float.min, Float.max 로 범위를 확인한다.
          2. Double : Double.min, Double.max 로 범위를 확인한다.
    4. 문자, 문자열 : Character, String
      1. 타입 선언 : Character, String
        1. Character : 문자 하나 (문자 하나 이상을 넣으려고 하면 에러가 발생한다.)
        2. String : 문자열
    5. 기본 데이터 타입에서 자주 접하는 에러
      1. 기본 데이터 타입의 범위를 넘어가는 경우 에러가 발생한다.
        예) var value : Int8
        value = 128 (에러발생, Int8의 범위 : -128 ~ 127)
      2. 기본 데이터 타입 간 연산 시에 타입이 다른 경우 에러가 발생한다.
        1. Swift에서는 같은 타입 간 연산만 허용한다.
          예) var intVar1 = 1
          var intvar2 = 2
          var sum = intVar1 + intVar2
        2. 타입이 다른 연산은 혀용하지 않는다.
          예) var intVar = 10
          var doubleVar = 3.14
          var sum = intVar + doubleVar(에러발생)
        3. 타입이 다른 연산의 경우는 반드시 같은 타입으로 변환 후에 연산 하도록 한다.
          예) var intVar = 10
          var doubleVar = 11.11
          var sum = intVar + Int(doubleVar)
      3. 타입 정보 확인하는 방법
        1. 타입 정보 얻기 : type(of : value)
          예) var index = 11
          type(of : index) // int
          var test = 3.14
          type(of : test) // Double
  3. 연산자
    1. 산술 연산자
      1. 산술 이항 연산자 : +, -, *, /, %
      2. 산술 단항 연산자 : +, -
      3. 증감 단항 연산자(++, --)는 사용할 수 없고, 대신 +=, -= 복합 대입 연산자를 사용한다.
    2. 복합 대입 연산자
      1. 대입 연산자와 다른 연산자를 결합한 형태이다.
      2. 종류는 아래와 같다.
        1. 더하기 대입 연산자 : +=
        2. 빼기 대입 연산자 : -=
        3. 곱하기 대입 연산자 : *=
        4. 나누기 대입 연산자 : /=
    3. 비교 연산자
      1. 같음 : ==
      2. 같지 않음 : !=
      3. A 가 B 보다 크다 : A > B
      4. A 가 B 보다 작다 : A < B
      5. A 가 B 보다 크거나 같다 : A >= B
      6. A 가 B 보다 작거나 같다 : A <= B
      7. 서로 동일한 주소를 가르키는지 비교 : ===
    4. 3항 연산자
      1. 조건값 ? (true expression) : (false expression)
    5. 범위 연산자
      1. 닫힌 범위 : 1...10 : 1에서 10까지, 10포함
      2. 반 닫힌 범위 : 1..<10 : 1에서 9까지
    6. 논리 연산자
      1. And 연산자 : &&
      2. Or 연산자 : ||
      3. Not 연산자 : !
    7. nil 연산자
      1. nil-coalescing 연산자 : ??
      2. optionalValue ?? defaultValue : optionalValue 값이 nil이 아니면, optionValue를 optionalValue 값이 nil이면, defaultValue를 취한다.