Posts 이것이 안드로이드다 with 코틀린 #1 코틀린 기본문법: 3. 조건문
Post
Cancel

이것이 안드로이드다 with 코틀린 #1 코틀린 기본문법: 3. 조건문

Chapter 03. 코틀린 기본문법

3. 조건문

조건문 if

변수에 직접 if문 사용하기

if문의 조건식 결과를 변수에 대입할 수 있다.

1
2
3
var a = 5
var b = 3
var bigger if (a > b) a else b

if문의 마지막 값을 반환값으로 사용하기

if문의 코드 영역이 여러 줄일 경우에도 마지막 줄을 변숫값으로 사용할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
var eraOfRyu = 2.32
var eraOfDegrom = 2.43

val era = if (eraOfRyu < eraOfDegrom) {
  Log.d("MLB_Result", "2019 류현진이 디그룸을 이겼습니다.")
  eraOfRyu // 마지막 값인 goldenState에 입력되어 있는 4가 win에 대입된다.
} else {
  Log.d("MLB_Result", "2019 디그룸이 류현진을 이겼습니다.")
  eraOfDegrom
}

Log.d("MLB_Result", "2019 MLB에서 가장 높은 ERA는 ${era}입니다.")

실행 결과

1
2
2019 류현진이 디그룸을 이겼습니다.
2019 MLB에서 가장 높은 ERA는 2.32입니다.

문자열 템플릿: 문자열 안에서 수식 사용하기

변수가 하나인 경우에는 $변수 형태로 사용할 수 있지만, 추가적인 연산식이 필요한 경우에는 ${코드블록} 안에 수식을 입력하는 형태로 사용할 수 있다.

조건문 when

  • 코들린의 when 문은 다른 언어의 switch문과 다르게 같은 값뿐만 아니라 범위의 값도 처리할 수 있고 사용법도 더 많다.
  • 특정 값을 선택할 수 있는 switch 의 사용법에 if문의 범위 비교 기능이 더해진 if문의 확장판이라고 할 수 있다.

일반적인 형태의 when 사용하기

1
2
3
4
5
6
7
8
9
10
11
when (파라미터) {
  비교값1 -> {
    // 변수값이 비교값1과 같다면 이 영역이 실행된다.
  }
  비교값2 -> {
    // 변수값이 비교값1과 같다면 이 영역이 실행된다.
  }
  else -> {
    // 변수의 값이 앞에서 비교한 값과 다르면 이 영역이 실행된다.
  }
}

콤마로 구분해서 사용하기

특정 값을 비교하는 데 결과 처리가 동일하다면 콤마로 구분해서 한 번에 비교할 수 있다.

1
2
3
4
5
6
7
8
when (now) {
  8, 9 -> {
    Log.d("when", "현재 시간은 8시 또는 9시입니다.")
  }
  else -> {
    Log.d("when", "현재 시간은 9시가 아닙니다.")
  }
}

범위 값을 비교하기

in을 사용해서 범위 값을 비교할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
var ageOfMichael = 19
when (ageOfMichael) {
  in 10..19 -> {
    Log.d("when", "마이클은 10대입니다.")
  }
  !in 10..19 -> {
    Log.d("when", "마이클은 10대가 아니다")
  }
  else -> {
    Log.d("when", "마이클의 나이를 알 수 없습니다.")
  }
}

파라미터 없는 when 사용하기

when 다음에 오는 괄호를 생략하고 마치 if문처럼 사용할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
var currentTime = 6;
when {
  currentTime == 5 -> {
    Log.d("when", "현재 시간은 5시입니다.")
  }
  currentTime > 5 -> {
    Log.d("when", "현재 시간은 5시가 넘었습니다.")
  }
  else -> {
    Log.d("when", "현재 시간은 5시 이전입니다.")
  }
}

if문과 when문의 차이점

  • 범위가 넓고 값을 특정할 수 없을 경우에는 if문을 사용해 처리한다. ex) 연도 데이터
  • 범위가 제한되고 값도 특정할 수 있을 경우에는 when문을 사용한다. ex) 요일 데이터
This post is licensed under CC BY 4.0 by the author.

모던 자바스크립트 #5.1. 원시값의 메서드

모던 자바스크립트 #5.2. 숫자형

Loading comments from Disqus ...