Android/Kotlin

[Kotlin Basic] 변수와 자료형

meong_j 2021. 11. 29. 02:06
728x90
반응형

Literal 리터럴

  • 코드 작성시 값을 작성하는 문법
  • Kotlin은 모든 기본 타입 값을 객체로 만들어 관리한다.
  • Kotlin은 null을 허용하는 변수와 null을 허용하지 않는 변수로 나누어 관리한다.

 

  • Raw string : """문자열"""
  • Nothing : 함수가 정상적으로 끝나지 않는다를 의미
  • Unit : void를 의미

 

자료형

  • 정수 : Long(8), lnt(4), Short(2), Byte(1)
  • 부호가 없는 정수형 : ULong(8), Ulnt(4), UShort(2), UByte(1)
  • 실수 : Double(8), Float(4)
  • 논리 : Boolean(1)
  • 문자 : Char(2)
  • 문자열 : String

 

	// 정수 리터럴
    println(100)
    println(10000000)
    println(10000000L)
    println(414_436_765_764)

    // 실수 리터럴
    println(11.11)
    println(22.22F)

    // 문자 리터럴
    println('A')
    println('가')

    // 문자열 리터럴
    println("문자열")

    // 논리 리터럴
    println(true)

    // raw String
    println("동해물과 백두산이\n마르고 닳도록\n하느님이 보우하사\n우리나라만세")

    println("""동해물과 백두산이
        |마르고 닳도록
        |하느님이 보우하사
        |우리나라 만세
    """.trimMargin())

 

변수 선언

  • Kotlin은 변수 선언 시 val, var 두 가지 키워드를 사용한다
  • var : 선언 이후 값을 다시 저장할 수 있다
  • val : 선언 이후 값을 다시 저장할 수 없다
  • var/val 변수명:타입 = 값
  • 타입을 생략시 저장하는 값에 따라 자료형이 자동으로 결정된다
    val al:Int = 100
    println("al : ${al}")
    println("al : $al")

    // 변수 선언시 자료형을 생략하면 저장하는 값에 따라 자동으로 결정된다
    val a2 = 100 // 자료형 생략 가능
    println("a2 : $a2")

 

    var a3:Int = 100
    val a4:Int = 100

    println("a3 : $a3")
    println("a4 : $a4")

    a3 = 200
    println("a3 : $a3")

    // val 변수는 값을 다시 저장하지 못한다.
    //a4 = 200 // 에러 발생

null 허용 변수

  • Kotlin은 변수를 선언할 때 null 허용 여부를 설정할 수 있다.
  • var/val 변수명:자료형 = 값 - null을 허용하지 않는 변수
  • var/val 변수명:자료형? = 값 - null을 허용하는 변수

    //var a5:Int = null  // 에러 발생
    var a5:Int = 100
    var a6:Int? = null
    println("a5 : $a5")
    println("a6 : $a6")

    var a7:Int? = a5
    println("a7 : $a7")

    var a8:Int = a6!! // !!은 null을 허용하지 않은 형태로 변경 - 에러발생

반응형