[Kotlin][학습노트] 기본 자료형과 변수 선언 2

tora·2021년 7월 4일

Nullable 변수

  • 코틀린은 일반적으로,
    초기화 없이 변수에 접근하거나, 변수에 null 값을 할당할 수 없다.
  • Null을 허용하려면 변수 선언시 ? 기호를 사용

    var str: String = null
    println(str)
    //컴파일 에러 : Null can not be a value of a non-null type String

    var str: String? = null
    println(str) //null

  • 세이프콜 : Nullable변수?.함수()
    -> 해당 변수가 null이 아닐때에만 ? 뒷부분을 수행

    var str: String? = null
    println(str?.length) //.length 무시되어 null

  • not null 단정 기호 : !! null 일 리 없음

    var str: String? = null
    println(str!!.length) //NullPointerException

  • 엘비스 연산자 : ?: 앞의 값이 null 이면 뒤의 값

    var str: String? = null
    println(str?.length ?: "null이다") //Null이다
    var str: String? = "hi"
    println(str?.length ?: "null이다") //2

자료형 변환

  • 형변환 메서드

    toByte: Byte
    toLong: Long
    toShort: Short
    toFloat: Float
    toInt: Int
    toDouble: Double
    toChar: Char

    -> 자릿수가 큰 자료형에서 작은 자료형으로 형 변환 시 버림

    var fl: Float = 1.9f
    println(fl.toInt()) //1

  • Number 자료형 : 모든 숫자형으로 자동형변환 가능한 자료형

    var num: Number = 3.1f
    println(num) //3.1
    num = 10L
    println(num) //10

  • Any 자료형 : 모든 자료형으로 자동 형변환 가능한 자료형

    var any1: Any = "hi"
    println(any1) //hi
    any1 = 5
    println (any1 + 1) //6


0개의 댓글