Files
2024-06-21 15:01:25 +09:00

1.5 KiB

변수

  • 변수는 var를 사용해서 선언합니다.

  • 상수는 val을 사용해서 선언합니다.

자바와 달리, 변수를 최상위 수준에 선언할 수도 있습니다.

var

var a: Int = 1 // 선언과 동시에 값을 할당
var b = 2 // 자료형이 추론 가능한 경우 생략 가능
var c: Int // 값이 나중에 할당되는 경우에는 자료형을 지정해 줘야 합니다.
c = 3

val

val a: Int = 1
val b = 2
val c: Int
c = 3

자료형

  • Byte

  • Short

  • Int

  • Long

  • Float

  • Double

  • Boolean

  • Char

  • String

var price = 1200
var rate = 1.1
var product = "Candy"
var price: Int = 1200
var rate: Double = 1.1
var product:String  = "Candy"

Null 안정성

변수 또는 상수가 null 값을 가질 수 있게 하려면 자료형 뒤에 ?를 붙입니다.

var a: String = "abc" 
a = null // BAD: can not be a null
var b: String? = "abc"
b = null // OK. nullable

Null 체크

val v = if (b != null) b.length else -1

Nullable 값의 안전한 사용

println(b?.length)
// b가 null인 경우에는 null을 반환하고, 아니면 b의 length를 반환

엘비스 연산자

val v: Int = if (b != null) b.length else -1

val v = b?length ?: -1

Not-Null 단언

val l = b!!.length
// b가 널이 아님이 확실할 때 사용합니다. b가 null이면 예외가 발생합니다.