반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
이번 포스팅에서는 조건문과 반복문에 대해 공부합니다.
if 문
if 문은 표현 식입니다. 그렇게 때문에 값을 반환합니다.
조건에 대한 반환을 담담하기 때문에, 별도로 삼항 연산자는 없습니다.
fun main(args: Array<String>) {
var x = 10
var y = 20
// if 문만 사용할 때
var max = x
if(x < y) max = y
// if else 문
if ( x > y ) {
max = x
} else {
max = y
}
val max2 = if(x > y) x else y
}
위처럼 다양하게 사용 가능합니다.
그리고 마지막 표현 식은 아래처럼 중괄호 블록을 추가해서 만들 수 있습니다.
val max3 = if( x > y) {
println(x)
x
} else {
println(y)
y
}
when 문
when은 자바의 switch 문과 유사하다고 보시면 됩니다.
var a = 10
when(a) {
1 -> print("a == 1")
2 -> print("a == 2")
else -> {
print("a == 10")
}
}
자바의 switch 문과 어떤 차이가 있는지 보이시나요?
자바에서 'case 1:' 이렇게 표현했던 것이 '1->' 이렇게 바뀌었죠?
그리고 default: 대신에 else -> {} 으로 사용합니다.
아래처럼 다양한 방법이 존재합니다.
val a = 10
when (a) {
0, 1 -> print("x == 0 or x == 1")
else -> print("otherwise")
}
val s = "10"
when (a) {
parseInt(s) -> print("s encodes a")
else -> print("s does not encode a")
}
val validNumbers = 20..100
when (a) {
in 1..10 -> print("x is in the range")
in validNumbers -> print("x is valid")
!in 10..20 -> print("x is outside the range")
else -> print("none of the above")
}
fun hasPrefix(x: Any) = when(x) {
is String -> x.startsWith("prefix")
else -> false
}
when {
a % 2 == 1 -> print("x is odd")
a % 2 == 0 -> print("x is even")
else -> print("x is funny")
}
for 문
자바의 foreach 문과 유사하면서 약간 다릅니다.
val intArr = arrayOf(1,2,3,4,5)
for(ia in intArr) print("$ia ")
println()
for(ia :Int in intArr) {
print("$ia ")
}
println()
for(idx in intArr.indices) {
print("${intArr[idx]} ")
}
println()
for((idx, value) in intArr.withIndex()) {
println("index = $idx and value = $value ")
}
for 문도 사용 방법이 다양합니다.
indices 는 index의 복수 형입니다.
while 문
while 문은 자바의 while 문과 사용 방법이 같습니다.
var x = 10
while (x > 0) {
x--
println(x)
}
var y = 5
do {
println(y)
y--
} while( y >= 0)
이상입니다.
조건문과 반복문에 대해 공부했습니다.
다음 포스팅에서는 return 과 jump에 대해 공부합니다.
반응형
'코틀린(Kotlin)' 카테고리의 다른 글
코틀린(kotlin) : 클래스와 상속 class and inheritance (0) | 2018.01.29 |
---|---|
코틀린(kotlin) : 코틀린 return, break, continue (0) | 2018.01.26 |
코틀린(kotlin) : 패키지와 임포트 package and import (0) | 2018.01.26 |
코틀린(kotlin) : 기본 타입 : Numbers, Characters, Booleans, Arrays (4) | 2018.01.25 |
코틀린(kotlin) : 기본 문법에 대하여 (0) | 2018.01.24 |