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 |
취업, 창업의 막막함, 외주 관리, 제품 부재!
당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약,
아이디어는 있지만 구현할 기술이 없는 막막함.
우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.
이제 고민을 멈추고, 캐어랩을 만나세요!
코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.
제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!
귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.
캐어랩