Kotlin 제어문

Kotlin 제어문

 프로그램 코드는 위에서 아래로 흘러간다.

IF 문

 주어진 조건에 따라 작성된 코드 수행 여부를 결정하는 구문. 위에서 아래로 흘러가는 코드의 흐름을 뛰어 넘거나 변경하려고 할 때 사용한다.
val a1:int = 10

// 기본 IF : IF 문의 조건식 (변수의 값) true 인 경우에만 내부의 코드가 실행 된다.
if ( a == 10 ) {
println ("a1 10입니다.")
}

IF ELSE 문 

// 기본 IF  : IF 문의 조건식 (변수의 값)  true 인 경우에만 내부의 코드가 실행 된다.
if ( a == 10 ) {
println ("a1 10입니다.")
} else { // 조건식이 만족하지 않을 경우 수행 됨.
println ("a1 10이 아닙니다.")
}

ELSE IF 문

// 기본 IF  : IF 문의 조건식 (변수의 값)  true 인 경우에만 내부의 코드가 실행 된다.
if ( a == 10 ) {
println ("a1 10입니다.")
} else if ( a > 5 ) { // 조건식이 만족하지 않을 경우 조건을 다시 따짐.
println ("a1 10이 아니고, 5보다 큽니다.")
}


&&

 모든 조건을 만족함을 확인할 때 사용하는 연산자. 두 조건 모두 true 여야 true.
if ( a == 10 && b == 20  ) {
println ("a 10이고, b 20입니다.")
}

||

 주어진 조건 중 하나만 만족하면 될 경우 사용합니다. 둘 중 하나만 true 일 경우 true.
if ( a == 10 || b == 20  ) {
println ("a 10이거나, b 20 이거나")
}


IF 문을 활용한 변수 값 세팅

var a:String = ""
var b:Int = 10

if ( b == 10 ) {
a = "10입니다."
} else {
a = "10이 아닙니다."
}
println("a : $a")

var c:String = if ( b == 10) "10입니다" else "10이 아닙니다."
 여러줄로 사용해야 하는 IF 문을 한 줄로 사용이 가능하다. 


Kotlin ? 연산자 ( 삼항 연산자 ), ternary operator

    var d:String = (b == 10) ? "10입니다" : "10이 아닙니다"
Kotlin 에서 조건부 연산자 (삼항 연산자) "?" , ":" 을 사용할 수 없다. 사용할 경우 

Kotlin: Unexpected tokens (use ';' to separate expressions on the same line)

에러가 발생하게 된다.

 코틀린 공식 문서에 아래와 같이 나와 있다.


If expression
In Kotlin, if is an expression: it returns a value. Therefore, there is no ternary operator (condition ? then : else) because ordinary if works fine in this role.

 대신 위의 예처럼 그냥 if / else 로 사용하면 된다.



댓글

이 블로그의 인기 게시물

Intel® HAXM installation failed 해결하기

Kotlin Interface

Kotlin this, super