반응형
1. 변수
1) var / val
var : 값을 변경할 수 있음
val : 깂을 변경할 수 없음
2) 변수선언
var 변수명 : (자료형) = 값
val 변수명 : (자료형) = 값
var a : Int = 10
val b : String = "안녕"
코틀린은 변수값을 보고 형추론 -> 자료형 생략가능
val c = 20
var d = "하이"
2. 자료형
1) 숫자형
정수형 : Long(64비트), Int(32비트), Short(16비트), Byte(8비트)
val a = 123 // Int
val b = -123 // Int
val c = 123L // Long
val d : Byte = 127 // 명시적으로 자료형 지정
val e : Short = 2345 // 명시적으로 자료형 지정
실수형 : Double(64비트), Float(32비트)
val a = 1.23 // Double
val b = 1.23F // Float
2) 문자형
문자열 : String
문자 : Char(16비트)
val ch1 = 'a' // Char
val ch2: Char = 'b' // Char
val str1 = "안녕" // String
val str2 : String = "하이" // String
3) 논리형
Boolean(1비트)
var isResult = true
var isResult : Boolean = false
3. null 허용
1) 물음표 (?)
코틀린에서 변수는 반드시 할당되어야한다. 즉, null 값을 가질 수 없다.
null값을 허용하기 위해서는 물음표를 사용해야한다.
val a : Int // Error
val b : Int = null // Error
val c : Int? = null // null 허용
2) 세이프콜 (?.)
null을 허용한 변수를 .연산자 대신 .?연산자를 사용하여 안전하게 호출
var str : String? = null
str.length // Error
str?.length // null
3) 엘비스 연산자 (?:)
변수가 null이면 null이 아닌 지정값 반환
var str : String? = null
str?.length ?: "값을 입력하시오" // 값을 입력하시오
str = "안녕"
str?.length ?: "값을 입력하시오" // 2
반응형