2016년 4월 21일 목요일

kotlin programming language - 조건 제어문

kotlin에는 if, when 두가지 조건 제어문이 있습니다.

if 조건문

//1.전통적인 사용법
var max = a 
if (a < b)
  max = b
 
// 2.if .. else
var max: Int
if (a > b) 
  max = a
else
  max = b
 
kotlin에서는 if문으로 3항연산자를 표현할 수 있습니다.
val max = if (a > b) a else b
오른쪽 조건문의 값이 왼쪽 변수에 대입될 수 있습니다. 만약 if문에 {}블록이 있다면 마지막 항목이 해당 블록의 리턴값이 됩니다.

val max = if (a > b) {
    print("Choose a")
    a
  }
  else {
    print("Choose b")
    b 
  }
a가 1 b가 2라고 한다면 max = 2가 됩니다.

when 
when은 기존의 switch문을 대신합니다. 
when (x) {
  1 -> print("x == 1") //x가 1일 때 
  2 -> print("x == 2") //x가 2일 때
  else -> { // 나머지 경우
    print("x is neither 1 nor 2")
  }}
변수가 다르지만 같은 결과를 출력 때는 ','로 구분하여 사용할 수 있습니다.
when (x) {
  0, 1 -> print("x == 0 or x == 1")
  else -> print("otherwise")}

또 in 을 range나 컬렉션과 함께 사용할 수 있습니다.
when (x) {
  in 1..10 -> print("x is in the range")
  in validNumbers -> print("x is valid")
  !in 10..20 -> print("x is outside the range")
  else -> print("none of the above")}

타입 체크시에는 'is'를 사용합니다.
val hasPrefix = when(x) {
  is String -> x.startsWith("prefix")
  else -> false}

댓글 없음:

댓글 쓰기