-
[안드로이드]코틀린 기본 문법 - 5(제어문)Coding/Android 2019. 6. 19. 13:04
Kotlin에서의 제어문은 4개로 나뉩니다
(if, when, for, while)
when을 제외하고는 많이 봐왔던 것입니다. 나머지는 Java에서의 제어문과 비슷하다고 할 수 있겠습니다.
If
If문은 자바와 똑같이, 한 줄이면 블록을 생략할 수 있고
if ( a < b ) max = b
파이썬처럼 콜론(:)으로 블록을 지정하는 것이 아닌 Java와 똑같이 중괄호로 블록을 만듭니다.
if(a > b){ max = a } else { max = b }
다음처럼 if문을 식처럼 활용도 가능합니다.
var max = if (a > b) a else b
a가 b보다 크다면 max는 a, 작거나 같다면 b가 될 것입니다.
For
Kotlin에서의 for문은 배열이나 컬렉션을 순회하는 문법으로 Python의 for-in 문과 Java의 foreach 문과 비슷합니다.
1. 배열 순회
val numArray = arrayOf(1, 2, 3, 4, 5) for (num in numArray) { // num은 numArray를 순회 println(num) }
num은 numArray의 요소인 (1,2,3,4,5)를 차례대로 순회할 것입니다.
2. 범위 지정
꼭 배열이나 컬렉션을 순회하는 것 뿐 아니라 직접 범위를 지정하여 반복할 수도 있습니다.
Python의 for-range 혹은 기존에 사용하던 for문과 가장 비슷한 형태라고 할 수 있습니다.
// 1~3까지 출력 for(i in 1..3) { println(i) } // 0~10까지 2씩 증가하며 출력 for (i in 0..10 step 2) { println(i) } // 10부터 0까지 2씩 감소하며 출력 for(i in 10 DownTo 0 step 2) { println(i) }
사용 효과는 비슷하지만 다소 생소한 구문이 보입니다.
'..'을 이용하여 범위를 지정하고, (Python에서 range(3) 이런식으로 범위를 지정한것과 대비됩니다)
step 키워드를 통하여 증가/감소하는 간격을 조절합니다.
또한 감소 범위는 downTo라는 키워드를 사용합니다.
While
Kotlin에의 while문은 Java에서의 while문과 똑같습니다.
var x = 10 while (x > 0) { x-- println(x) }
When
When이라는 제어문은 처음 들어보셨을 겁니다. 이는 Java의 switch문에 대응하는 문입니다.
값이 하나인 경우, 여러개인 경우, 범위에 해당되는 경우 등을 자유롭게 지정할 수 있다는 것이 특징ㅇ비니다.
또한 else 구문을 통하여 나머지에 대한 경우도 처리할 수 있습니다.
var x = 1 when (x) { 1-> println("x == 1") // 값 하나 2, 3 -> println("x == 2 or x = 3") // 여러 값은 콤마로 표현 in 4..7 -> println("4~7") // 범위 지정 !in 8..10 -> println("8부터 10 사이가 아님") // 부정 else -> { // 나머지 println("나머지 경우") } }
이를 활용하면 다음과 같이 사용할 수도 있습니다.
var numberStr = 1 var numStr = when (num % 2) { 0 -> "짝" // 짝수인 경우 numStr = "짝" else -> "홀" // 홀수인 경우 numStr ="홀" }
'Coding > Android' 카테고리의 다른 글
[안드로이드 - 코틀린] Anko 라이브러리 사용하기 (0) 2019.06.22 [안드로이드] 코틀린 기본 문법 - 6(Null 허용) (0) 2019.06.19 [안드로이드] 코틀린 기본 문법 - 4(배열 선언) (0) 2019.06.18 [안드로이드] 코틀린 기본 문법 - 3(자료형 - 문자/문자열) (0) 2019.06.18 [안드로이드] 코틀린 기본 문법 - 2(함수 선언) (0) 2019.06.18