* 기본 문법 - Variable
- val(Value): 한 번 초기화 시 재할당 불가능, final과 동일
var a: Int = 1
a = 10 // 컴파일 오류
- var(Variable): 가변 변수, 재할당 가능
var a: Int = 1
a = 10 // 가능
- 타입 추론
val message = "Default Message"
- Unit: Java의 void와 유사
fun unitEx(): Unit {
println("Unit Test")
}
- Default Parameter 지원
fun defaultParameterEx(a: Int = 10): Unit {
println(a)
}
fun main() {
defaultParameterEx()
}
- Top Level Variable 지원
var x = 5
fun main() {
println(x);
}
* 기본 문법 - = = / = = =
- == 사용 시, equals() 호출
val ex = "Test"
println(ex == "Test") // true
- 주소 값 비교 시, === 사용
val a = "Test"
val b = "Test"
println(a === b) // true
* String pool로 인해 true 출력
* 기본 문법 - Flow Controll
- if - else -> 표현식 / 삼항 연산자 사용 X
val str = if (age > 10 ) "성인" else "아기"
- when -> 표현식
val result = when (day) {
1 -> "월요일"
2 -> "화요일"
3 -> "수요일"
4 -> "목요일"
5 -> "금요일"
else -> "주말"
}
val result = when (1) {
1 -> "성공"
0, -1 -> "실패"
}
- for 문
for (i in 0..3) { // 0 <= i <= 3
println(i) // 0, 1, 2, 3
}
for (i in 5 downTo 2) { // 5 >= i && i >= 2
println(i) // 5, 4, 3, 2
}
for (i in 0 until 3) { // 0 <= i < 3
println(i) // 0, 1, 2
}
for (i in 0 until 4 step 2) { // 0 <= i < 4 (2씩 증가)
println(i) // 0, 2
}
// 배열 반복
val numbers = arrayOf(1, 2, 3, 4, 5)
for (number in numbers) {
println(number)
}
* 기본 문법 - Null
- null 대입 시 컴파일 오류
val a1: String = null // 컴파일 오류
val b1 = "test"
b1 = null // 컴파일 오류
- 안전 연산자 - ?
var a2: String ?= null // nullable 표시
println(a2?.length) // null이 아닐 경우 length 출력
- 엘비스 연산자 - ?:
val a: String ?= null
val b: Int = if (a != null) a.length else 0
println(b) // 0
val c = a?.length ?: 0 // a?.length가 null이 아니면 a.length 값 / null이면 0
println(c) // 0
- 단언 연산자 - !!
val a = null
val b = a!!.length // NPE 발생
'Kotlin' 카테고리의 다른 글
[Kotlin] 범위 지정 함수 (0) | 2023.03.23 |
---|---|
[Kotlin] 기본 문법 (4) (0) | 2022.10.28 |
[Kotlin] 기본 문법 (3) (0) | 2022.10.27 |
[Kotlin] 기본 문법 (2) (0) | 2022.10.25 |
[Kotlin] Kotlin이란? (0) | 2022.10.21 |