일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- docker
- DATABASE
- postman
- Util
- S3
- macos
- typeorm
- TypeScript
- Kotlin
- React
- OOAD
- wireshark
- mongoose
- HTML
- AWS
- Crawling
- Network
- algorithm
- Scheduling
- python
- node.js
- Android
- linux
- mysql
- ubuntu
- Express
- MongoDB
- OS
- css
- sequelize
- Today
- Total
Seongwon Lim
[Android] 코틀린(Kotlin)에서 조건문&반복문 사용 방법 본문
서론
이번 글에서는 코틀린을 이용하여 반복문(for, while)과 조건문(if, switch)을 사용하는 방법을 간단하게 다뤄보고자 한다.
글의 목차는 다음과 같다.
- 조건문 if 사용법
- 조건문 switch 사용법
- 반복문 for 사용법
- 반복문 while 사용법
코틀린에서 조건문 if 사용 방법
먼저 코틀린 문법을 사용하기 전에 자바를 사용할 때 if문은 다음과 같이 사용할 수 있다.
int maxNum(int a, int b) {
if(a > b) {
return a
}
else {
return b
}
}
if 조건문은 코틀린 문법에서도 크게 다르지 않다. 코틀린을 이용하면 다음과 같이 작성할 수 있다.
// 첫번째 표현
fun maxNum(a : Int,B : Int) : Int {
if(a>b) {
return a
}
else {return b}
}
// 다른 표현
fun maxNum(a : Int, b : Int) = if(a>b) a else b
첫번째 표현의 경우는 자바와 크게 다를 것이 없다. 그러나, 두번째 표현의 경우에는 자바와 조금 다른 것을 확인할 수 있는데 위처럼 {} 기호를 사용하지 않더라도 = 연산자를 통해 조건을 정의하고 값을 리턴할 수 있다.
변수를 정의할 때에도 두번째 표현을 사용할 수 있다. 예를 들어,
var n:Int = 100
var result = if(n==100) { 1 } else { 0 }
위와 같은 코드가 있을 때 result 변수를 위와 같이 정의할 수 있다.
코틀린에서 조건문 switch 사용 방법
코틀린에서는 switch 라는 문법을 사용하지 않고 대신에 when 이라는 문법을 사용한다.
fun checkNum(score : Int) {
// type1, 단순 리턴 혹은 출력을 하는 경우
when(score) {
0 -> println("this is 0")
1 -> println("this is 1")
2,3 -> println("this is 2 or 3")
else -> println("i don't know") // 없어도 실행 가능
}
// type2, 조건문을 통해 특정 변수를 정의하는 경우
var b = when(score) {
1 -> 1
2 -> 2
else -> 3 // 이렇게 할당할 때에는 else가 반드시 필요하다.
}
// type3, score 변수의 값에 범위를 지정하는 경우
when(score) {
in 90..100 -> println("Excelent")
in 50..89 -> println("Good")
else -> println("Bad") // 없어도 실행 가능
}
}
코틀린에서 반복문 for 사용 방법
fun forAndWhile() {
// ArrayList 반복문
val students = arrayListOf("lim","kim","park","choi")
for(name in students) {
println("${name}") // lim, kim, park, choi
}
// index 반복문
var sum = 0
for(i in 1..10) {
sum += i
}
println(sum) // 55
}
리스트 순회는 자바 문법과 크게 다르지 않지만 인덱스(i)를 이용한 반복문은 자바와 조금 다른 것을 확인할 수 있다.
int sum() {
int sum = 0
for(int i=0; i<=10; i++) {
sum += i;
}
return sum;
}
보통 자바의 경우에는 이런 식으로 선언하는 반면에 코틀린의 경우는 1..10 처럼 점을 이용해서 범위를 지정한다.
또한, ..은 eqaul(=)을 포함하므로 <= 의 의미와 같다고 볼 수 있다.
반복문 for 또 다른 표현
for(i in 1..10 step 2) -> 1,3,5,7,9
for(i in 10 downTo 1) -> 10부터 1까지
for(i in 1 until 100) -> 1~99까지 (100 포함하지 않음)
step, downTo, until과 같은 명령어를 통해서도 다양하게 반복문에 조건을 걸어 활용할 수 있다.
반복문 for 에서 2개의 변수 사용하는 방법
val students = arrayListOf<Any>("lim","kim","choi","park")
for((index, name) in students.withIndex()) {
println("${index+1}번째 학생 : ${name}")
}
위 코드처럼 withIndex()를 이용하면 인덱스 값과 데이터를 한꺼번에 받을 수 있다. 코드 실행 결과는 다음과 같다.
코틀린에서 반복문 while 사용 방법
var index = 0
while(index < 10) {
println("Current index : ${index}")
index++
}
코틀린에서 while문을 사용하는 것은 자바 문법과 크게 다르지 않다.
그리고 자바에서 do-while문도 코틀린에서 동일하게 사용할 수 있다.
var index = 0
var sum = 0
do {
println("Current index : ${index}")
sum += index
index++
} while(index <= 10)
println("result : ${sum}") // 55
'Android' 카테고리의 다른 글
[Kotlin] AlertDialog를 이용한 경고창(대화 상자) 띄우기 (0) | 2022.08.01 |
---|---|
[Kotlin] 인텐트(Intent)를 이용하여 데이터 전달하기 (0) | 2022.07.31 |
[Android] 코틀린(Kotlin) Intent를 이용하여 페이지 이동하기 (0) | 2022.07.29 |
[Android] ListView 사용 방법 (0) | 2022.06.05 |
[Android] The minCompileSdk (31) specified in adependency's AAR metadata .. 에러 해결하기 (0) | 2022.06.04 |