본문 바로가기
Do it 코틀린 프로그래밍

코틀린 조건문 ( if~else, when )

by 차누감 2020. 5. 19.

if문과 if~else문

if (조건식) {
   수행할 문장 // 조건식이 true인 경우에만 실행
} else {
   수행할 문장 // 조건식이 false인 경우에 실행
}

 

<간략화 예제>

fun main(){

     val a=10
     val b=20
     var max : Int

    if(a>b) {
        max = a
    }else{
        max=b
    }
}// main()..

위 조건문을 변수에 할당하여 한 줄에 구성할 수 있습니다.

fun main(){

     val a=10
     val b=20
     var max= if(a>b) a else b
    
}// main()..

만약 조건문 표현식이 길어지면 중괄호로 감싸야합니다.

fun main(){

     val a=10
     val b=20
     var max= if(a>b){ 
         println("a 선택")
         a  // 블록의 마지막 표현식이 반환됨
     }else {
         println("a 선택")
         b // 블록의 마지막 표현식이 반환됨
     }

}// main()..

 

 

in 연산자와 범위 연산자로 조건식 간략하게 만들기

변수 이름 in 시작 값.. 마지막 값

 

아래와 같은 조건문은 비교 연산자와 논리합 연산자로 연결하는 것이 번거롭습니다.

if(score>=80.0 && score<=89.9) grade='B' // 80점부터 89.9점까지 B학점

 

코틀린에서는 포함 여부 확인을 위한 in 연산자와 2개의 점(..)으로 구성된 범위 연산자를 제공합니다.

if(score in 80.0 .. 89.9) grade='B' // 80점부터 89.9점까지 B학점

 

when문으로 다양한 조건 처리하기

true, false, 변수, 표현식 등의 조건을 when문의 인자에 넣을 수 있습니다.

 

when(인자) {

  인자에 일치하는 값 혹은 표현식 -> 수행할 문장
  인자에 일치하는 범위 -> 수행할 문장
  ...
  else -> 수행할 문장

}

<사용 예제>

    when(x){
        1 -> println("x==1")
        2 -> println("x==2")
        3,4 -> println("x==3 or x==4")
        in 5..10 -> println("5~10")         // 범위 검사를 할 수 있다.
        parseInt(x) -> println("일치함")       //반환값과 일치하면 문장 실행
        is String -> println("문자열입니다.")     // 특정 자료형을 검사할 수 있다.
        
        else -> println("기타")
    }

인자가 없는 when문  

when { 

 조건[혹은 표현식]-> 수행할 문장
  ...

}
    when{
        x==1 -> println("x==1")
        x==2 -> println("x==2")
        x in 5..10 -> println("5~10")         // 범위 검사를 할 수 있다.
        x is String -> println("문자열입니다.")     // 특정 자료형을 검사할 수 있다.

        else -> println("기타")
    }

댓글