-
[kotlin] expression & statement, control-flow(when)카테고리 없음 2024. 9. 30. 08:15728x90반응형
1. expression(표현식) and statement(문장)
표현식이란?
- 변수, 연산자로 구성되어 단일 값을 리턴하는 표현을 의미한다
- if, when, try는 표현식에 해당한다
문장이란?
- 수행할 작업을 나타내는 명령형 프로그래밍 언어의 가장 작은 독립된 실행형 요소를 의미한다
- 완전한 실행단위를 구성하는 모든 것은 문장(statement)이다
- 식은 문장의 한 부분(statement >= expression)이다
val passOrFail = if(jumsu >= 60) "pass" else "fail"
val passOrFail = if(jumsu >= 60) "pass" else "fail"여기서 부등호의 오른쪽 부분(if(jumsu >= 60) "pass" else "fail")은 pass나 fail이라는 문자를 리턴하고 passOrFail이라는 변수에 해당 값을 할당하기 때문에 표현식(expression)이고, 전체(val passOrFail = if(jumsu >= 60) "pass" else "fail")는 문장(statement)이다
2. range
범위를 선언할 수 있고 코틀린에서는 3가지의 타입이 존재한다
또한 처음값과 마지막 값을 포함한다
type usage range Char CharRange('A', 'Z) 혹은
'A'...'Z'A ~ Z Int IntRange(1, 45)혹은 1..45 1 ~ 45 Long IntRange와 동일. LongRange()를 사용해 범위를 정해주면 됨 3. control-flow(when, if, while)
(if랑 while은 자바스크립트에도 있는 문법이라 패스)
코틀린에서는 switch문 대신 when을 사용한다
const val VIP = "vip"; // const 는 상수선언, 기본타입과 스트링만 가능 const val SILVER = "silver" const val WHITE = "white" const val NORMAL = "normal" fun main () { val membershipPoint = Random().nextInt(40000) val membershipClass = when(membershipPoint) { in 1000..20000 -> WHITE in 20001..30000 -> SILVER in 30001..40000 -> VIP else -> NORMAL } println("이번 달 당신의 멤버십은 ${membershipClass} 입니다.") } // 혹은 아래와 같이 작성 가능 val membershipClass = when() { membershipPoint in 1000..20000 -> WHITE membershipPoint in 20001..30000 -> SILVER membershipPoint in 30001..40000 -> VIP else -> { NORMAL } }4. vararg, *(spread operator)
vararg : 인자가 여러 개일때는 파라미터의 맨 마지막에 사용함
* : 코틀린에서 스프레드 오퍼레이터를 뜻함(자바스크립트에서는 ...arr 이런 식으로 사용했었음)
fun totalSum(subject: String, vararg score : Int ): Int { // 생략 }반응형