반응형
if( )와 else의 중첩
fun main(args: Array<String>): Unit
{
val score = 88
if (score >= 90)
{
println('A')
}
else
{
if (score >= 80)
{
println('B')
}
else
{
if (score >= 70)
{
println('C')
}
else
{
println('F')
}
}
}
}
결과
B
너무 중첩되어 있어 보기 힘든 코드가 되었다. 대괄호 안의 문장이 한 개면 { }를 생략할 수 있고 if~ else 구문은 if ~ else if~ 구문으로 바꿀 수 있으니, 필요 없는 문장을 지워 단순하게 만들면 다음과 같다.
fun main(args: Array<String>): Unit
{
val score = 88
if (score >= 90)
{
println('A')
}
else if (score >= 80)
println('B')
else if (score >= 70)
println('C')
else
println('F')
}
결과
B
if-else를 표현식으로 사용하기
fun main(args: Array<String>): Unit
{
val value: Int = if (10 > 5)
{
println("10은 5보다 크다.")
10
}
else
{
println("10은 5보다 크지 않다.")
5
}
println(value)
}
결과
10은 5보다 크다.
10
흐름 제어-조건문 when( )
fun main(args: Array<String>): Unit
{
val score = 64
when (score / 10)
{
6 ->
{
println('D')
}
7 ->
{
println('C')
}
8 ->
{
println('B')
}
9, 10 ->
{
println('A')
}
else ->
{
println('F')
}
}
println("test")
}
결과
D
test
위 코드를 중괄호를 생략하고 깔끔하게 옮기면 다음과 같다.
fun main(args: Array<String>): Unit
{
val score = 64
when (score / 10)
{
6 -> println('D')
7 -> println('C')
8 -> println('B')
9, 10 -> println('A')
else -> println('F')
}
println("test")
}
결과
D
test
when을 표현식으로 사용하기
fun main(args: Array<String>): Unit
{
val score = 95
val grade: Char = when (score / 10)
{
6 -> 'D'
7 -> 'C'
8 -> 'B'
9, 10 -> 'A'
else -> 'F'
}
println(grade)
}
결과
A
흐름 제어-반복문 while
fun main(args: Array<String>): Unit
{
var i = 1
while (i < 10)
{
println(i)
i += 1
}
}
결과
1
2
3
4
5
6
7
8
9
흐름 제어-반복문 do-while
fun main(args: Array<String>): Unit
{
var i = 1
do
{
println("실행됨")
} while (i == 0)
}
결과
실행됨
흐름 제어 continue
fun main(args: Array<String>): Unit
{
var i = 0
while (i < 10)
{
i += 1
// 짝수이면
if (i % 2 == 0)
continue // continue 아래의 문장들을 모두 skip 한다.
println(i)
}
}
결과
1
3
5
7
9
흐름 제어 break
fun main(args: Array<String>): Unit
{
var i = 0
while (true)
{
i += 1
if (i >= 5)
break // 이 문장이 실행되는 순간 while 블록을 탈출한다.
println(i)
}
}
결과
1
2
3
4
레이블(Label)
fun main(args: Array<String>): Unit
{
var x = 0
var y = 0
outer@ while (x <= 20)
{
y = 0
while (y <= 20)
{
if (x + y == 15 && x - y == 5)
break@outer
y += 1
}
x += 1
}
println("x: $x, y: $y")
}
결과
x: 10, y: 5
함수(Function)
fun main(args: Array<String>): Unit
{
println(myFunction())
println(myFunction() + 10)
}
fun myFunction(): Int
{
val a = 3
val b = 6
println("a: " + a + ", b: " + b)
return a + b
}
결과
a: 3, b: 6
9
a: 3, b: 6
19
아래는 함수 블록의 문장이 하나일 경우 줄이는 방법을 보여준다. 참고하길 바란다.
fun fuction(): Double
{
return 3.0 + 7
}
한 줄로 줄이면
func fuction(): Double = 3.0 + 7
함수 반환 타입을 생략하면(수식이 Double 임을 추론한다.)
func fuction() = 3.0 + 7
반응형
'개발자 > kotlin 코틀린' 카테고리의 다른 글
kotlin 06. 연산자, 프로퍼티, 생성자, 오버로딩 (0) | 2022.08.16 |
---|---|
kotlin 05. 파일분리, 패키지, import, object, heap, class (0) | 2022.08.15 |
kotlin 04. 매개변수, 인수, 범위, 함수 오버로딩, 스택 예제 코드 (1) | 2022.08.12 |
kotlin 02. 문자열, 연산자, 제어문 (0) | 2022.04.20 |
kotlin 기본 예제 01 (0) | 2022.03.31 |
Kotlin 입문 참고 자료 (0) | 2022.02.10 |
Kotlin 핵심 개념 알아보기 2 (0) | 2022.02.08 |
Kotlin 핵심 개념 알아보기 1 (0) | 2022.02.07 |
더욱 좋은 정보를 제공하겠습니다.~ ^^