Notice
Recent Posts
Recent Comments
12-12 11:30
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

-

[모각코 2주차] 코틀린 문법 공부 본문

Team Project

[모각코 2주차] 코틀린 문법 공부

choiht 2022. 10. 5. 21:18
반응형

1. if and when

fun maxBy(a: Int, b: Int) : Int {
    if(a > b){
        return a
    }
    else{
        return b
    }
}

fun checkNum(score : Int) {
    when (score) {
        0 -> println("this is 0")
        1 -> println("this is 1")
        2, 3 -> println("this is 2 or 3")
        else -> println("Idk")
    }

    when (score) {
        in 90..100 -> println("grade A")
        in 10..80 -> println("grade B")
    }
}

코틀린에서는 when이 if문의 역할을 수행한다.

checkNum 함수의 첫번째 when은 파이썬에서 switch ~ case 문 같은 느낌이었다. 

또한 두번째 when은 if(90 <= score <= 100) 을 간결하고 직관적으로 표현할 수 있어 편리했다. 

 

 

 

 

 

 

 

2. Statement vs Expression

코틀린에서 statement와 expression은 약간의 차이가 있다. 

어떤 과정을 통해 값을 만들어내면 그것은 expression으로 친다. 

fun maxBy(a : Int, b : Int) = if(a > b) a else b

이 식에서 보면 if문으로 값 비교를 통해 a 또는 b를 리턴한다. 

어떤 과정을 통해 값을 만들어낸 것이므로 expression 이다. 

 

비슷한 예로, 모든 함수의 경우는 expression이다.

아무것도 리턴하지 않는 함수의 경우에도 사실은 Unit을 리턴하고있기 때문에 expression으로 정의된다. 

 

 

 

 

 

 

 

3. Array and List

List에는 두가지 종류가 있다. 

 

  • Inmutable List
  • Mutable List

Mutable List 는 수정이 가능하고, Inmutable List는 수정이 불가능하다. 

 

fun array(){
    val array = arrayOf(1,2,3)
    val list = listOf(1,2,3)
    
    array[0] = 3
    var result = list.get(0)
    
    val arrayList = arrayListOf<Int>()
    arrayList.add(10)
    arrayList.add(20)
}

 

반응형
Comments