typealias 키워드를 이용하여, C와 C++ 언어의 typedef와 같이 type에 별명을 붙일 수 있다.
typealias csjungNumber = Int
fun main(args: Array<String>) {
var a:csjungNumber = 10
println(a)
}
if - else 문 같은 경우에는 다른 언어들과 동일하게 사용하고 있으며, Kotlin에서는 추가적으로 표현식에도 사용할 수 있다.
al value:Int = if(10 > 5) {
println("10은 5보다 크다.")
10
} else {
println("10은 5보다 크지 않다.")
5
}
when 문은 타 언어에서 switch문과 같은 역할을 한다.
when ({타깃 표현식}) {
{타깃 표현식과 비교할 값} ->
{
....
}
}
// 일반적인 사용법
when(score / 10)
{
6 -> {
println("D")
}
7 -> {
println("C")
}
8 -> {
println("B")
}
9, 10 -> {
println("A")
}
else -> {
println("F")
}
}
// 표현식으로 사용법
val grade: Char = when(score / 10)
{
6 -> 'D'
7 -> 'C'
8 -> 'B'
9, 10 -> 'A'
else -> 'F'
}
while문 같은 경우에는 타 언어와 동일한 방식으로 사용되고 있다.
do {
i += 1
if(i >= 5) {
...
break
} else if(i == 2) {
...
continue
}
...
} while(true)
Label 은 중첩된 반복문의 흐름을 제어하기 위한 키워드 이다.
사용 방법은 다음과 같다.
- while 구문
{label name}@ while 구문
- break 구문
break@{label name}
Label에 대한 사용 예제는 다음과 같다.
fun main(args: Array<String>) {
var x = 0;
var y = 0;
var z = 0;
outer@ while(x <= 20) {
y = 0
while(y <= 20) {
z = 0
while(z <= 20) {
if(x+y+z == 15 && x - y - z == 5) {
break@outer
}
z++
}
y++
}
x++
}
println("x:$x, y:$y, z:$z")
}
위의 예제를 보았을 때, "if(x+y+z == 15 && x - y - z == 5)" 라는 조건에 참이 된다면, "while(z <= 20)"의 흐름을 계속 타지 않고, "outer@while(x <= 20)" 의 흐름을 바로 탈출하게 된다.
만약 outer@ 가 "while(y <= 20)" 에 존재한다면, 해당 코드는 while(x <= 20) 의 흐름을 계속 타고 있을 것이다.
위의 label에 대한 예제 코드의 결과물은 다음과 같다.
결과 값
x:10, y:0, z:5
참고 : 초보자를 위한 Kotlin 200제 라는 책을 기반으로 공부 내용을 정리하였습니다.
'Kotlin' 카테고리의 다른 글
[Kotlin] 객체 선언 및 동반자 객체 (0) | 2020.08.29 |
---|---|
[Kotlin] 기초 - 함수 (0) | 2020.08.27 |
[Kotlin] 기초 - 정수/실수/문자 타입과 문자열 (0) | 2020.08.27 |
[Kotlin] 기초 - 변수 / 연산자 (0) | 2020.08.26 |
[Kotlin] 기초 - 문자열 출력, 문자열 표현식 (0) | 2020.08.26 |