Home Kotlin 기본 문법 (조건문)
Post
Cancel

Kotlin 기본 문법 (조건문)

조건문

조건문이란 주어진 조건식의 결과에 따라 별도의 명령을 수행하도록 제어하는 명령문이다

if문

if 문은 조건식의 결과가 참(true)이면 주어진 명령문을 실행하고 거짓(false)이면 아무것도 실행하지 않는 조건문을 말한다

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
fun main() {

    val apple = 4

    if(apple>5){
        println("사과가 5개보다 많습니다");
    }
    else if (apple>3){
        println("사과가 3개보다 많습니다");
    }
    else {
        println("사과가 3개보다 적습니다");
    }

}

출력

1
사과가 3개보다 많습니다

이것이 if문에 형태이다 차근차근 뜯어보면

1
2
3
if(apple>5){
        println("사과가 5개보다 많습니다")
    }

if를 적고 괄호 안에 조건을 적는다 여기서 만약 조건이 참이라면 중괄호에 적은 코드를 실행시킨다

1
2
3
else if (apple>3){
    println("사과가 3개보다 많습니다");
}

else if는 if문이 거짓일 때 실행된다 if랑 마찬가지로 괄호 안에 조건을 적고 여기서 만약 조건이 참이라면 중괄호에 적은 코드를 실행 시킨다

앞에서 apple을 4로 선언했으니 해당 조건 참이 되어 중괄호 안 코드인 println(“사과가 3개보다 많습니다”)가 실행되어 “사과가 3개보다 많습니다”라는 문장이 출력되게 된다

1
2
3
else {
    println("사과가 3개보다 적습니다")
}

여기서 else는 위에 적은 조건들이 모두 거짓일 때 실행되는 곳이다

참고로 if문은 첫 번째 문장이 참이여서 실행된다면 else if 로 밑에 조건이 참이여도 실행되지 않고 종료된다

논리 연산자

논리 연산자인 &&와 를 사용하면 if문에 조건을 추가할 수 있는데

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
fun main() {

    val apple = 4
    val banana = 5

    if (apple > 5 && banana > 4) {
        println("과일이 매우 많습니다")
    }
    else if (apple > 5 || banana > 4) {
        println("과일이 많습니다")
    }
    else {
        println("과일이 적습니다")
    }

}

출력

1
과일이 많습니다

차근 차근 코드를 뜯어보자

1
2
3
if (apple > 5 && banana > 4) {
    println("과일이 매우 많습니다")
}

우선 apple>5 && banana>4은 apple이 5보다 크다 와 banana가 4보다 크다는 조건을 모두 만족해야만 참이 된다

1
2
3
else if (apple > 5 || banana > 4) {
    println("과일이 많습니다")
}

apple>5 || banana>4는 apple이 5보다 크다 와 banana가 4보다 크다는 조건 중 하나만 만족해도 참이 된다 그러니 “과일이 많습니다”라는 문장이 출력 된 것이다

참고로

1
2
3
4
5
6
7
8
9
10
fun main() {

    val apple = 3

    if (apple > 4)
        println("과일이 많습니다")
    else
        println("과일이 별로 없습니다")

}

위와 같이 괄호 없이도 간추려 사용할 수 있다

변수에 if문 사용

코드

1
2
3
4
5
6
7
8
9
10
11
12
fun main() {
    val apple = 3

    val box = if (apple>3){
        "사과가 많이 들어있음"
    }
    else {
        "사과가 적게 들어있음"
    }

    println(box)
}

출력

1
사과가 적게 들어있음

위와 같이 변수에 값을 if문을 사용하여 넣는 것이 가능하다

조건문에서 자주 쓰는 조건 연산자

  1. ㅤ>= : 좌변이 우변보다 같거나 크면 참이 된다
  2. ㅤ> : 좌변이 우변보다 크면 참이 된다
  3. ㅤ<= : 좌변이 우변보다 작거나 같으면 참이 된다
  4. ㅤ< : 좌변이 우변보다 작으면 참이 된다
  5. ㅤ== : 좌변과 우변이 같으면 참이 된다
  6. ㅤ!= : 좌변과 우변이 다르면 참이 된다

when문

when문 if문과 같은 조건 제어문으로 if랑 달리 <,>,<=,>=등과 같은 범위를 사용할 수 없고 if문은 조건식이 true일 경우에 실행된다고 하면 when문 비교할 변수가 어떤값을 가지냐에 따라 실행문을 선택되는 방식이다 ==만 사용하는 if이라고 생각하면 편하다

코드

1
2
3
4
5
6
7
8
9
fun main() {
    val age = 20
    when(age){
        in 1..7 -> println("어린이 클럽")
        in 8..19 -> println("학생 클럽")
        in 20..32 -> println("클럽")
        else -> println("나이트 클럽")
    }
}

출력

1
클럽

위 코드를 뜯어보면

1
in 1..7 -> println("어린이 클럽")

이 부분은 age에 값이 1~7사이로 들어오면 어린이 클럽을 출력한다는 의미이고 그럼 자연스럽게 밑에 값들도 해당 범위에 값이 들어오면 알맞은 문구를 출력하게 된다는 걸 알 수 있다

또한 is라는 것도 사용할 수 있는데

코드

1
2
3
4
5
6
7
fun main() {
    val x : Any = 312.23F
    when(x){
        is Int -> println("이것은 Int입니다")
        !is Int -> println("이것은 Int가 아닙니다")
    }
}

출력

1
이것은 Int가 아닙니다

해당 코드를 뜯어보면

1
is Int -> println("이것은 Int입니다")

이 부분은 값이 Int이면 이것은 Int입니다를 출력하고

1
!is Int -> println("이것은 Int가 아닙니다")

이 부분은 값이 Int가 아니면 이것은 Int가 아닙니다를 출력하라는 코드이다

This post is licensed under CC BY 4.0 by the author.