자료형
- 코틀린의 기본 자료형은 모두 객체로 자바보다 엄격하게 타입을 체크한다.
- 명시적으로 형변환을 시켜줘야 함.
- 코틀린은 유니코드를 사용한다.
비교
- 문자열 비교(==)
- 오브젝트 비교(===)
문자열 템플릿
- ${변수}를 통해 출력 가능 (ex) println("테스트 ${변수} 출력")
- 문자열을 붙일 때는 +를 통해 출력 (ex) str1 + str2
배열
- arrayOf()를 통해 생성과 초기화를 동시에 함
- 자료형을 유추할 수 있을 경우에는 초기화 생략 가능
- 대괄호[]를 사용하여 접근
- Array<Int>라고 생성하고 Int가 아닌 값이 들어가면 에러가 발생하지만 arr2와 같이 arrayOf()로 생성한 배열은 어떤 형태도 추가 가능
fun main() {
val arr1 : Array<Int> = arrayOf(1, 2, 3)
val arr2 = arrayOf(1, "string", 3)
println(arr1[0])
println(arr2[0])
println(arr2[1])
}
Null
- 본래 코틀린은 변수 선언 시 null을 허용하지 않음 (NotNull 타입)
- 하지만 "?"를 통해 Null이 가능하게 선언 가능 (Nullable 타입, safe-call)
- NullPointerException에서 자유로움
val num : Int = 1
val num2 : Int? = null
- 코틀린은 컴파일러가 타입을 검증하여 자료형에 대한 오류를 미리 잡을 수 있는 정적 언어 형식
var str: String? = "Hello"
str = null
println(str.length) // 에러 발생
- Not null : 변수 뒤에 "!!"를 붙여 강제로 null이 아님을 선언 (null이 들어오면 NullPointerException)
- 엘비스 연산자 : "?:"로 표현하며 notnull일 경우 왼쪽 값을 리턴하고 null일 경우 오른쪽 값을 리턴
var str: String? = null
str = str ?: "Here"
println(str)
/* 출력
Here
*/
자료형 변환
- 변환 method : a.toDouble(), b.toInt() 등
자료형 검사
- is
var num = 1
if(num is Int){
println("Int")
}
if(num !is Int){
println(num)
}
/* 출력
Int
*/
- any
var num: Any = 1
println(num.javaClass)
num = 1.0
println(num.javaClass)
/* 출력
class java.lang.Integer
class java.lang.Double
*/
연산자
- 산술 연산자 : +, -, *, /, %
- 대입 연산자 : =, +=, -=, *=, /=, %=
- 증감 연산자 : ++, --
- 비교 연산자 : <, >, <=, >=, ==, !=, ===, !===
- 논리 연산자 : &&, ||, !
'Kotlin' 카테고리의 다른 글
코틀린 프로퍼티와 초기화 (0) | 2023.02.16 |
---|---|
코틀린 클래스와 객체 (0) | 2023.02.14 |
코틀린 함수 (0) | 2023.02.13 |
코틀린 조건문과 반복문 (0) | 2023.02.10 |
코틀린(Kotlin) 이란? (0) | 2023.02.10 |