본문 바로가기
프로그래밍언어/Kotlin

[Kotlin] : Hello World부터 when까지 공식 문서 참고해서 공부하기

by 오주현 2022. 4. 16.
반응형
fun main() {
println("Hello World!")
}

Kotlin은 main()부터 시작된다.

 


fun main() {
    val items = listOf("사과", "바나나", "키위")
    println("items에 있는 값 => " + items)
    for (item in items) {
        println("내가 먹고 싶은 과일은 " + item + "입니다.")
    }
}
items에 있는 값 => [사과, 바나나, 키위]
내가 먹고 싶은 과일은 사과입니다.
내가 먹고 싶은 과일은 바나나입니다.
내가 먹고 싶은 과일은 키위입니다.

list에 값을 담고 for문으로 출력할 수 있다.

 

fun main() {
    val items = listOf("사과", "바나나", "키위")
    println("items에 있는 값 => " + items)
    for (item in items.indices) {
        println("$item 번째 바구니에 있는 과일 => ${items[item]}")
    }
}
items에 있는 값 => [사과, 바나나, 키위]
0 번째 바구니에 있는 과일 => 사과
1 번째 바구니에 있는 과일 => 바나나
2 번째 바구니에 있는 과일 => 키위

위와 조금 다른 방법으로 출력할 수도 있다.

 

fun main() {
    for (i in 2..9) {
        for (j in 1..9) {
            println("${i} x ${j} = ${i * j}")
        }
    }
}

Kotlin 구구단을 만들어 봤다. Java와 사용법이 조금 달라서 찾아봤다.


fun main() {
    val items = listOf("사과", "바나나", "키위")
    var index = 0
    println("바구니의 총 개수 = " + items.size)
    while (index < items.size) {
        println("${index}번째 바구니에 들어있는 과일은 ${items[index]}입니다.")
        index++
    }
}
바구니의 총 개수 = 3
0번째 바구니에 들어있는 과일은 사과입니다.
1번째 바구니에 들어있는 과일은 바나나입니다.
2번째 바구니에 들어있는 과일은 키위입니다.

index++를 하지 않으면 사과만 출력하는 무한 루프가 된다.


when은 Java에서 없었던 표현식이다.

when은 Java의 switch와 약간 비슷하다.

fun describe(obj: Any): String =
    when (obj) {
        1 -> "One"
        "Hello" -> "Gretting"
        is Long -> "Long"
        !is String -> "Not a string"
        "안녕하세요를 입력하면?" -> "반갑습니다가 출력된다."
        else -> "Unknown"
    }

fun main() {
    println(describe(1))
    println(describe("Hello"))
    println(describe(1000L))
    println(describe(2))
    println(describe("안녕하세요를 입력하면?"))
    println(describe("other"))
}
One
Gretting
Long
Not a string
반갑습니다가 출력된다.
Unknown

describe에서 먼저 when을 정의했다.

main에서 사용하면 되는데 이런 느낌이다.

1을 입력하면 One를 출력한다.

 

fun describe(obj: Any): String =
    when (obj) {
        "문자를 알맞게 입력하면?" -> "정상적으로 출력이 된다.."
        else -> "Unknown"
    }

fun main() {
    println(describe("문자를 알맞게 입력하면?"))
    println(describe("다른 문자를 입력하면?"))
}
정상적으로 출력이 된다..
Unknown

이처럼 정의된 값 외 값을 입력하면 esle를 통해 Unknown을 출력하는 모습을 볼 수 있다.

반응형

댓글