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

[Kotlin 기초 1] 기본 구문 (3)

by 채연2 2023. 2. 7.

 

2023.02.07 - [분류 전체보기] - [Kotlin 기초 1] 기본 구문 (2)

 

Contents

     

     

    Kotlin Programming Basics

    in

    in은 값이 범위 내에 있는지의 여부를 테스트한다. !in 은 값이 범위에 속하지 않는지를 확인한다.

     

    in 키워드는 반복과 구성원 모두에 사용된다. for문 제어 표현식 내부에 있는 in은 반복을 의미하고, 그렇지 않은 in의 경우 범위 내의 구성원을 체크한다. Double은 범위를 만들 수 있지만 구성원을 확인하는 데에만 사용 가능하다.in 키워드는 범위로 제한되지 않는다.

     

    문자가 문자열의 일부인지의 여부도 확인할 수 있다. 또, 문자열이 문자열의 범위 내에 있는 구성원인지도 확인 가능하다....만 사용하여 부동 소수점 범위를 정의할 수 있다.

     

    fun inTest() {
       val percent = 35
       Log.e("KotlinTest", "${percent in 1..100}")
    }
    fun inTest() {
       val values = 1..3
       for (v in values) {
          Log.e("KotlinTest", "iteration $v")
       }
       val v = 2
       if (v in values)
          Log.e("KotlinTest", "$v is a member of $values")
    }
    fun inTest() {
       Log.e("KotlinTest", "${'t' in " kotlin "}")
       Log.e("KotlinTest", "${'a' in " kotlin "}")
    }
    fun isDigit(ch: Char) = ch in '0'..'9'
    fun notDigit(ch: Char) = ch !in '0'..'9'
    
    fun inTest() {
       Log.e("KotlinTest", "${isDigit('a')}")
       Log.e("KotlinTest", "${isDigit('5')}")
       Log.e("KotlinTest", "${notDigit('z')}")
    }
    fun inFloatRange(n: Double) {
       val r = 1.0..10.0
       Log.e("KotlinTest", "$n in $r? ${n in r}")
    }
    
    fun inTest() {
       inFloatRange(0.999999)
       inFloatRange(5.0)
       inFloatRange(10.0)
       inFloatRange(10.0000001)
    }
    fun inTest() {
       Log.e("KotlinTest", "${"ab" in "aa".."az"}")
       Log.e("KotlinTest", "${"ba" in "aa".."az"}")
    }

     

    Expressions & Statements

    statement는 effect는 있지만(상태를 변경하지만) 결과를 생성하지 않고, expression은 항상 결과를 생성한다.

     

    expression은 다른 식의 일부로 할당하거나 사용할 수 있는 값을 생성하는 반면 statement는 항상 최상위 요소이다.

    모든 함수 호출은 expression이다. 함수가 Unit을 반환하고 부작용(상태 변경)에 대해서만 호출되더라도 결과는 여전히 할당될 수 있다.

     

    fun test() {
       val f = for(i in 1..10) {}
    }
    fun unitFun() = Unit
    
    fun test() {
       Log.e("KotlinTest", "${unitFun()}")
       val u1: Unit = println(42)
       Log.e("KotlinTest", "$u1")
       val u2 = println(0) // Type inference
       Log.e("KotlinTest", "$u2")
    }
    fun test() {
       val result1 = if (11 > 42) 9 else 5
    
       val result2 = if (1 < 2) {
          val a = 11
          a + 42
       } else 42
    
       val result3 =
          if ('x' < 'y')
             println("x < y")
          else
             println("x > y")
    
       Log.e("KotlinTest", "$result1")
       Log.e("KotlinTest", "$result2")
       Log.e("KotlinTest", "$result3")
    }
    fun test() {
       var i = 10
       Log.e("KotlinTest", "${i++}")
       Log.e("KotlinTest", "$i")
       var j = 20
       Log.e("KotlinTest", "${++j}")
       Log.e("KotlinTest", "$j")
    }

     

     

    2023.02.03 - [프로그래밍/Kotlin] - [Kotlin 기초 1] 기본 구문 (1)

     

    [Kotlin 기초 1] 기본 구문 (1)

    본격적으로 코딩하기에 앞서 기본 구문을 익혀야 예제도 따라할 수 있고 android에서 java와 kotlin의 구문이 어떻게 다른지도 익힐 겸 첫번째로 기본 구문(변수, 함수, 클래스, 반복문 등..)을 학습하

    cording-cossk3.tistory.com

     

    320x100

    댓글