더듬이

02. Kotlin 연산자 정복하기 본문

Kotlin

02. Kotlin 연산자 정복하기

dbhang 2023. 3. 15. 02:28

 

  연산자 의미
논리 연산자


||  or 연산자 ,  하나라도 true 인 경우 true, 둘다 false 인 경우 false
&& and 연산자 ,둘다 true 인 경우 true, 하나라도 false인 경우 false 
!  !a  a가 true이면 결과는 false, a가 false 이면 결과는 true
  in  a in b a가 b안의 원소인지 확인  
  is  캐스팅 타입 검사시 사용
  .. 이더레이터 연산자 
엘비스 연산자 ?: 널값을 허용하지 않는 변수에 널 값이 들어 갔을때 뒤에 있는 값으로 널 값을 convert한다. null 안정성에 큰 기여를 한다.
안전한 호출 연산자  ? null을 안전하게 호출할 수 있도록 한다.
// c를 인자로 받아 a~z or A~Z 사이의 값에 속하는지를 검사하는 함수 
fun isLetter(c: Char) = c in 'a'..'z' || c in 'A'..'Z'

// c를 인자로 받아 '0'~'9' 사이의 값에 속하는지 않는 지를 검사하는 함수 
fun isNotDigit(c: Char) = c !in '0'..'9'

println(isLetter('a'))
println(isNotDigit('A'))

// when 구문과 is 연산자를 이용해 if 중첩 대신 
fun eval(e: Expr) : Int =
    when (e) {
        is Num ->
            println("num: ${e.value}")
        else -> throw IllegalArgumentException("Unknown expression")
    }
println(eval(3)))

// Int? 를 이용해 해당 함수가 Int와 null을 반환할 수 있음을 표기
fun readNumber(reader:  BufferedReader) : Int?{
    try {
        val line = reader.readLine()
        return Integer.parseInt(line)
    }
    catch (e: NumberFormatException) {
        return null
    }
    finally {
        reader.close()
    }
}

// 안전한 호출 연산자를 통해 null로 안전하게 초기화할 수 있다.
var myValue: String? = null

 

'Kotlin' 카테고리의 다른 글

01. Kotlin 개발환경 설정하기 (IntelliJ IDEA)  (0) 2022.12.30