일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- gitlab
- 3d프린터 초보
- docker
- git
- 리눅스 파일동기화
- 데이터 직렬화 포맷
- C언어
- data serialization formats
- linux job
- 3D프린터입문
- IoTNetwork
- NAS HDD교체
- 3D 프린터 용어
- Jenkins
- Kotlin
- kubernetes
- nas
- OnlineIDE
- ci/cd
- 네이버클라우드
- github
- Token인증방식
- docker container
- 3D모델링
- 3D
- Notification
- 3D프린터
- 3D프린터 입문
- 코틀린개발환경
- octoprint
- Today
- Total
0과 1을 공부하다.
[Kotlin] 코틀린 조건문 / 반복문 본문
조건문
조건문 설명에 앞서 Statement와 Expression 은 아래와 같다.
- Statement: 프로그램 문장, 하나의 값으로 도출되지 않는다.
- Expression: 하나의 값으로 도출되는 문장
자바의 if-else는 Statement 였다. 즉, if 결과가 하나의 결과로 도출 될 수 없었다 반면에 kotlin에서는 if-else 는 Expression이다. 그래서
- if()
: 코틀린에서 if 조건문은 자바에서 사용하는 방식과 동일하다.
fun main() {
var i = 5
if (i > 10){
println("${i} 는 10보다 작다.")
}else if(i > 1){
println("${i} 는 1보다 크다.")
}else{
println("")
}
}
- when{}
: 코틀린에서는 when 조건문을 사용할 수 있다. if 문 보다 좀 더 간결하게 사용할 수 있다.
fun main() {
var i = 5
when {
i > 10 -> {
println("${i} 는 10보다 작다.")
}
i > 1 -> {
println("${i} 는 1보다 크다.")
}
else -> {
println("")
}
}
}
코틀린은 조건문의 결과를 변수에 할당 할 수 있다.
- if 를 이용한 조건문 결과 할당
fun main() {
var i = 5
var result = if (i > 10){
"${i} 는 10보다 작다."
}else if(i > 1){
"${i} 는 1보다 크다."
}else{
""
}
println("result: " + result)
}
코틀린에서는 switch - case는 쓸 수 없다. 코틀린에서 java의 switch - case를 대체하여 아래와 같이 when 구문을 사용할 수 있다.
- when 을 이용한 조건문 결과 할당
fun main() {
var i = 5
var result = when {
i > 10 -> {
"${i} 는 10보다 작다."
}
i > 1 -> {
"${i} 는 1보다 크다."
}
else -> {
""
}
}
println("result: " + result)
}
코틀린에서는 앞서 말했던 것처럼 삼항 연산은 쓸 수 없다. 삼항 연산 대신 Expression 특성으로 아래와 같은 방법을 쓸 수 있다.
fun main() {
// var result1 = i > 10 ? true : false // 삼항 연산은 쓸 수 없다.
var i = 5
val result = if(i > 10) true else false
println("result: " + result)
}
반복문
- for()
: 코틀린에서 for문은 여러가지 형태로 사용할 수 있다. 자바에서의 foreach 와 동일한 구조도 쓸 수 있고 변수를 초기화하고 증감하는 형태로도 쓸 수 있고 리스트 객체에서 제공하는 for문을 쓸 수도 있다.
fun main() {
var items = listOf(1,2,3,4,5,6,7,8,9)
// 리스트를 순회하는 for문
for(item in items){
println("List: " + item)
}
// 리스트에서 제공하는 for문
items.forEach { item ->
println("List: " + item)
}
// 변수를 초기화하고 증감하는 for문 (.. 연산자는 범위를 만드는 연산자)
for (i in 0 .. items.size - 1){
println("List: " + items[i])
}
// 2칸씩 증가하는 반복문
for(i in 1..5 step 2){
println("List: " + items[i])
}
// 하위 순환하는 반목문
for (i in 3 downTo 1) {
println("List: " + items[i])
}
}
- while()
: while , do-while은 java와 완벽하게 동일한 문법이다. break, continue도 동일하게 지원한다.
do{
//commands
}while(expression)
while(expression){
//commands
}
fun main() {
var items = listOf(1,2,3,4,5,6,7,8,9)
var i = 0;
while(i <= 8){
println("List: " + items[i])
i++
}
var j = 0;
do{
println("List: " + items[j])
j++
}while(j <= 8)
}
예외처리
코틀린에서 예외처리는 try-catch 를 사용한다.
fun main() {
val items = arrayOf(1,2,3)
try{
val item = items.get(4) // 존재하지 않는 4번 인덱스에 접근
println("items : ${item}")
}catch(e: Exception){
print(e.message) // error message 출력
}
}
코틀린에서의 예외처리는 자바와 차이점은 아래와 같다.
- 코틀린은 자바와 다르게 checked exception과 Unchecked Exception 을 구분하지 않는다. 모두 Unchecked Exception이다.
- 코틀린에서는 try with resources가 없어지고 확장함수 use()를 사용함.
※ 본 게시글의 정보가 잘못 되었거나 부족한 부분에 대한 피드백을 환영합니다.
* CopyRight 2024. Jay Park All rights reserved.
'Study > Kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 클래스 (0) | 2024.07.02 |
---|---|
[Kotlin] 코틀린 함수 (0) | 2024.07.02 |
[Kotlin] 코틀린 리스트/배열 (0) | 2024.07.02 |
[Kotlin] 코틀린 문자열 (0) | 2024.07.02 |
[Kotlin] 코틀린 Null Safety (0) | 2024.07.02 |