Notice

[코틀린] 03. 연산자와 제어흐름

연산자

산술 연산자 +, -, *, /, %
대입 연산자 좌변 = 우변
(우변 값이 좌변에 들어감)
복합 대입 연산자 +=, -=, *=, /=, %=
증감 연산자 ++, --
비교 연산자 >, >=, <, <=, ==, !=
논리 연산자 &&, ||, !

 


IF-ELSE

  • if의 조건을 만족하면 if문 실행 아니면 else 구문 실행

 

ex)

val a: Int = 5
val b: Int = 10

if (a > b){
	println("a가 b보다 크다")
}
else if{
	println("a는 b와 같다")
}
else{
	println("a는 b보다 작다")
}

// 결과 -> else문 실행

 

- 값을 리턴하는 if문

val max = if (a > b) a else b
println("max = "+ max)

// a가 5, b가 10이어서 답은 10

 


WHEN

- `switch`문과 비슷, if문으로도 만들 수 있다.

- 값이 하나거나 범위를 자유롭게 지정하고 싶을 때 사용

- 조건으로 갖는 값의 모든 경우에 대응해 주는 것이 좋다

 

예시

val value: Int = 2

when(value){

    1 -> println("value is 1")
    2 -> println("value is 2")
    3 -> println("value is 3")
    else -> println("I don't know value")
    
}

// "value is 2"

 

  • 값을 리턴하는 when 구문의 경우, 반드시 값을 return 해야한다.
val value: Boolean? = null

val result = when(value){
    true -> 1
    false -> 2
    null -> 3 		// 혹은 else -> 3
}

 

 

when의 다양한 조건식

1) 타입을 모르는 경우 - `is`

val value: Int = 10

when (value){

    is Int -> println("value is int")		// value가 Int형인 경우
    else -> println("value is not int")
    
}

 

2) 범위 지정 - `in`

val value: Int = 80

when (value){

    in 60..70 -> println("60-70")	// 60초과 70이하
    in 70..80 -> println("70-80")	// 70초과 80이하
    in 80..90 -> println("80-90")	// 80초과 90이하
    
}

// 답 : 70-80

'안드로이드 > 코틀린' 카테고리의 다른 글

[코틀린] 05. Collection(List, Set, Map)  (0) 2021.09.04
[코틀린] 04. 배열  (0) 2021.09.03
[코틀린] 엘비스 연산자  (0) 2021.08.23
[코틀린] 02. 함수  (0) 2021.08.23
[코틀린] 01. 변수  (0) 2021.08.22
글쓰기 설정