엔지니어 규의 IT 프로그래밍 다이어리

[Kotlin]4. 조건문과 비교 연산자 본문

프로그래밍 언어/코틀린

[Kotlin]4. 조건문과 비교 연산자

엔지니어 규 2022. 5. 1. 22:57
728x90

If 문

 

if문 : if문에 주어진 값이 '참' 일때 따라오는 구문을 실행하는 기능

1
2
3
4
5
6
7
8
fun main(){
    var a = 10
    if(a > 8) {
        println("a는 8보다 크다")
    } else {
        println("a는 8보다 작거나 같다")
    }
}
cs

if( 조건 ) {

    참일때 실행되는 실행문

}  else {

    거짓일때 사용되는 실행문

}

 

위와 같은 방식으로 If 문을 구성하며 {} 가 있는 이유는 참,거짓일때 수행되는 구문이 2개 이상일 수 있기 때문이다.

만약 수행되는 구문이 1개 라면  "if (조건) 실행문" 형식으로 코드를 적어도 무방하다.

 

 

비교연산자

 

< : 작다

<= : 작거나 같다

> : 크다

>= : 크거나 같다

!= : 같지 않다

== : 같다

 

= : 우측의 값을 좌측변수에 할당하는 '할당 연산자' 이며 == 과 혼동 하지 않도록 주의 한다.

(ex : a = 7  -> 7은 a 와 같은것이 아닌, 7이라는 값을 a 변수에 할당하겠다는 의미)

 

is : 자료형이 맞는지 체크

!is : 자료형이 틀린지 체크 (! 는 not 을 의미함)

 

ex) a is int  ->  좌측 자료형이 우측 자료형에 '호환' 되는지를 체크하고 형변환까지 시켜주는 연산자

1
2
3
4
5
6
7
8
9
10
fun main(){
 
    var a = 3
 
    if (a is Int){
        println("a 는 정수입니다.")
    } else {
        println("a는 정수형이 아닙니다.")
    }
}
cs

 

다중조건문  When 

when : Java 에서 제공하는 switch 문을 조금더 편리하게 만든기능으로,

             if가 참과 거짓만을 비교 할 수 있는 반면 when은 하나의 변수를 여러개의 값과 비교할 수 있다.

 

when (비교할 parameter) {

    조건값 -> 실행문

}

위와같은 방식으로 구문을 작성하며 아래의 소스코드를 예로 확인해보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
fun main(){
    doWhen(1)  // 정수 1입니다.
    doWhen("안녕") // 아무것도 만족하지 않습니다.
    doWhen(3.5) // String이 아닙니다.
}
 
fun doWhen (a: Any){
    when(a) {
        1 -> println("정수 1입니다.")
        "Gyu" -> println("저는 Gyu Engineer 입니다.")
        is Long -> println("long 타입 입니다.")
        !is String -> println("String 아닙니다.")
        else -> println("아무것도 만족하지 않습니다.")
    }
}
cs

여기에서 쓰인 Any 라는 자료형은 어떤 자료형에도 호환이 될수 있는 코틀린의 최상위 자료형이다.

또한 조건값은 숫자형,문자형, 연산자 등이 사용 가능하다. 어떤 조건값에도 맞지 않을경우 else 를 사용할수 있고,

 

여러개의 조건이 맞는경우에는 가장 먼저 맞은조건이 실행된다.

 

또한 아래 소스코드 처럼 동작대신 값을 반환하는 표현식으로서의 역할을 하게 할 수 있다.

1
2
3
4
5
6
7
8
fun doWhen (a: Any){
    var result = when(a) {
        1 -> "정수1입니다."
        "Gyu" -> "Gyu 입니다."
        else -> "아무것도아닙니다."
    }
    println(result)
}
cs

 

 

 

 

728x90
Comments