본문 바로가기

Kotlin

[Kotlin] 기본 문법 (1)

* 기본 문법 - 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