코린이 탈출기

chapter 3.4 - 코틀린 기초 문법 - 조건문 이해하기 본문

인터넷 강의/클래스101 - 비전공자들을 위한 나만의 안드로이드 앱 만들기

chapter 3.4 - 코틀린 기초 문법 - 조건문 이해하기

50HEE 2021. 4. 21. 19:28

조건문 - 상황을 보고 조건이 true일 때만 실행되도록 하는 코드입니다.

즉, 컴퓨터에게 질문(확인 / 검사)을 하는 것입니다.

java의 경우 if / else if / else + switch 가 있습니다. 

코틀린도 java와 문법이 완전히 동일한 if / else if / else 조건문이 있습니다.

 

 

조건문의 형식

if ( 질문할 내용 => 조건식 ) {

// 조건식을 확인해본 결과 true일 경우 실행될 코드 작성 }

 

else if ( 보완 질문 => 조건식 ) {

// if 질문은 틀렸지만, 보완 질문이 맞을 경우 실행될 코드 작성

// 보완 질문은 여러 개 질문 가능합니다. }

 

else {

// 앞의 모든 질문이다 틀렸을 경우 실행할 코드 작성 }

 

 

when - java의 switch의 대용품입니다.

when ( 검사할 변수 ) {

값1 -> { 실행할 코드 작성 }

값2 -> { 실행할 코드 작성 }

in 25..29 -> { 변수의 값이 25 ~ 29 사이일 경우 실행할 내용입니다. 변수의 범위를 정하고 싶을 경우 'in *..*'로 표시하면 됩니다.}

10, 15, 17 -> { 변수의 값이 10, 15, 17일 경우 실행할 내용}

else -> { 어느 경우도 해당하지 않는 경우 } }

 

 

 

<예시 코드>

방의 층 수를 예로 들어보았습니다.

0보다 크면 "~층" / 0이면 "반지하" / 0보다 작으면 "지하~층"으로 작성되는 코드입니다.

 

if

if (this.floor >= 1) {
            "${this.floor} 층"
        } else if (this.floor == 0) {
            "반지하"
        } else {
            "지하${this.floor}층"
        }

when 

when {
            this.floor >= 1 -> {
                "${this.floor} 층"
            }
            this.floor == 0 -> {
                "반지하"
            }
            else -> {
                "지하${this.floor}층"
            }
        }

 

 

 

조건식 작성 요령

비교 연산자는 >, >=, <, <=, ==, != 있습니다.

 

< 예시 >

if ( userAge > 20 )     // 사용자의 나이가 20살을 넘는지

if ( userName == "소희" )     // 사용자의 이름이 소희인지 / 소희면 true

if ( userName != "소희" )      // 사용자의 이름이 소희가 아닌지 / 소희가 아니면 true / 즉, !는 반대를 의미합니다.

 

논리 연산자 - 양 옆의 질문 결과를 가지고 논리를 따지는 연산

&& - and 연산자로 양 쪽의 조건이 모두 맞는 말이어야만 결과가 true가 나옵니다. 

     예시) 단맛 && 분위기 && 카페 => 조건 강화

위 세 가지 중 하나라도 안 맞으면 false가 나옵니다. 만약 단맛이 false가 나오면 뒤의 내용은 검토하지 않고 결과가 false가 나옵니다.

|| - or 연산자로 양 쪽의 조건 중 하나라도 맞으면 결과가 true가 나옵니다. ( '|'은 한/영키 옆에 있습니다.)

     예시) 단맛 || 분위기 || 카페 => 조건 완화

위 세 가지 중 하나라도 맞으면 true가 나옵니다. 만약 단맛이 true가 나오면 뒤의 내용은 검토하지 않지만, 단맛이 false가 나오면 뒤의 내용을 검토합니다.

! - not 연산자로 기존의 true / false를 뒤집습니다. ~을 제외한 나머지는 true가 나옵니다.

     예시) !짠맛

짠맛을 제외한 모든 것은 true입니다. 즉, 짠맛이 나오면 false, 짠맛이 아니면 true가 나옵니다. 

Comments