카테고리 없음

Kotlin(2)

hojung 2021. 6. 19.
728x90
반응형

1. 코틀린의 제어흐름

프로그램을 만들다보면 프로그램의 흐름을 제어 해야하는 경우가 있다. 프로그램의 flow는 조건에 따라 달라지고 조건에 따라 실행이 되는 코드 실행이 되지 않는 코드들이 존재한다. 코틀린에서도 다른 프로그래밍 언어들과 마찬가지로 if else문을 사용한다. if -else if -else문의 사용법은 c++이나 js, 파이썬과 모두 유사하다.

 val a: Int = 5;
    val b:Int = 10;
    if(a > b) {
        println("a가 b보다 크다")
    }
    else
    {
        println("a가 b보다 작다")
    }
    println("3번")
[출처] 코틀린(2)|작성자 호정

위의 코드는 if - else문을 사용한 경우이다.

if(a>b)
    {
        println("a가 b보다 크다")
    }
    //else if

    if(a>b) {

    }else if(a < b) {

    }
    else
    {

    }
[출처] 코틀린(2)|작성자 호정

else if 문을 사용하면 다른 조건들 또한 추가할 수 있다.

코틀린의 if 사용법에는 c++과 차이점이 하나 존재한다. 바로 if문이 값을 리턴하기 때문에 if문의 리턴값을 변수에 할당할 수 있다는 점이다.

val max1 = if(num1 > num2) // if가 값을 리턴하지 않는다면 값을 할당할 수 없다. 따라서 else문을 사용하지 않으면 초기화가 불가능하다.
    {
        num1
    }
    else if (num1 == num2)
    {
        num2 // 10
    }
    else
    {
        0
    }
[출처] 코틀린(2)|작성자 호정

따라서 위와 같은 변수의 선언이 가능하고 변수의 선언에 조건을 추가함으로써 유효성까지 검사할 수 있다.


2. 코틀린의 제어흐름 when

c++에 switch문이 존재해서 각각의 경우의 수마다 다른 프로그래밍을 할 수 있다면 코틀린에는 when구문이 존재한다. 사용법은 switch문과 비슷하다. 아래의 예시 코드를 통해 when구문의 사용법을 알아보자

val value: Int? = null
    when(value)
    {
        null->
        {
            println("value is null")
        }
        else->
        {
            println("value is not null")
        }
    }
[출처] 코틀린(2)|작성자 호정

앞선 포스팅에 있겠지만 코틀린은 자료형을 변수의 이름 다음에다 작성하고 뒤에 붙은 ?기호는 이 변수가 null을 받을 수 있다는 것을 나타낸다.

위의 코드를 해석하자면 value라는 변수가 null이라면 value is null을 아니라면 value is not null을 출력하라는 뜻이다.

 val value4: Int = 10
    when(value4)
    {
        is Int->
        {
            println("value4 is Int")
        }
        else->
        {
            println("value4 is not Int")
        }
    }
[출처] 코틀린(2)|작성자 호정

when은 다양하게 사용된다.

//when의 다양한 조건식
    val value5: Int = 87
    when (value5) {
        in 60..70 ->
        {
            println("value is in 60..70")
        }
        in 70..80 ->
        {
            println("value is in 70..80")
        }
    }
[출처] 코틀린(2)|작성자 호정

when에서 in이라는 연산자를 이용하면 값의 범위를 알 수 있다. 만약 다른 프로그램에서 무작위의 숫자를 받아와 각 숫자에 따른 다른 작업을 수행해야한다면 in이라는 코드가 매우 유용하다.

[출처] 코틀린(2)|작성자 호정

728x90
반응형

댓글