[코틀린 문법] 반복문과 증감연산자
While, Do While(조건형 반복문)
// 조건형 반복문 //
// 조건이 참인 경우(즉 변수가 false 될 때까지) 반복 유지
// 변수가 false 될 때까지
// while, do...while
// while //
// a는 0부터 시작
var a = 0
// a가 3보다 작으면 해당 구문 반복
while (a < 3) {
// a는 1씩 증가
println(++a)
}
// 1 <- 0에서 1 더한 후 출력
// 2 <- 1에서 1 더한 후 출력
// 3 <- 2에서 1 더한 후 출력
var count = 0
while (count < 10) {
// count = count + 1
count++
println(count)
}
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9
// 10
// do while //
// b는 0부터 시작
var b = 0
// 최초 1회 한정으로 조건 노상관
do
{
// 실행 갈긴 후
println(b++)
// 두 번째 실행부터 조건 확인
} while (b < 3)
// 0 <- 냅다 0 출력
// 1 <- 0에서 1 더한 후 출력
// 2 <- 1에서 1 더한 후 출력
Increment & Decrement Operators(증감연산자)
// Increment & Decrement Operators(증감연산자) //
// Increment Operators(증가연산자)
// 변수값 1 증가
// count = count + 1
// count++
// Decrement Operators(감소연산자)
// 변수값 1 감소
// count = count - 1
// count--
// Prefix Operators(전위연산자)
// 구문 내에서 증가/감소 값 즉시 반영
// ++a
// --a
// Postfix Operators(후위연산자)
// 구문 수행한 후에 증가/감소 값 반영
// a++
// a--
// ++a <- 선증가 후출력
var c = 0
while (c < 5) {
println(++c)
}
// 1 <- 0에서 1 더한 후 출력
// 2 <- 1에서 1 더한 후 출력
// 3 <- 2에서 1 더한 후 출력
// 4 <- 3에서 1 더한 후 출력
// 5 <- 4에서 1 더한 후 출력
// --b <- 선감소 후출력
var d = 5
while (d > 0) {
println(--d)
}
// 4 <- 5에서 1 뺀 후 출력
// 3 <- 4에서 1 뺀 후 출력
// 2 <- 3에서 1 뺀 후 출력
// 1 <- 2에서 1 뺀 후 출력
// 0 <- 1에서 1 뺀 후 출력
// c++ <- 선출력 후증가
var e = 0
while (e < 5) {
println(e++)
}
// 0 <- 0 출력 후 1 더하기
// 1 <- 1 출력 후 1 더하기
// 2 <- 2 출력 후 1 더하기
// 3 <- 3 출력 후 1 더하기
// 4 <- 4 출력 후 1 더하기
// d-- <- 선출력 후감소
var f = 5
while (f > 0) {
println(f--)
}
// 5 <- 5 출력 후 1 빼기
// 4 <- 4 출력 후 1 빼기
// 3 <- 3 출력 후 1 빼기
// 2 <- 2 출력 후 1 빼기
// 1 <- 1 출력 후 1 빼기
For(범위형 반복문)
// 범위형 반복문 //
// 범위를 정해 반복 수행
// for
// for //
// 1부터 10까지 더하기
var sum : Int = 0
for(i in 1..10) {
// sum = sum+ i
// 과 동일
sum += i
}
println(sum)
// 55
// 11 .. 15 -> 11부터 15까지(포함) i값 1씩 증가
for(i in 11 .. 15) {
// 관습적으로 i로 씀 -> 다른 알파벳이어도 노상관
println(i)
}
// 11
// 12
// 13
// 14
// 15
// 21 .. 25 -> 21부터 25'미만'까지 i값 1씩 증가
for(i in 21 until 25) {
// 관습적으로 i로 씀 -> 다른 알파벳이어도 노상관
println(i)
}
// 21
// 22
// 23
// 24
// 35 downTo 31 -> 35부터 31까지 j값 1씩 감소
for(j in 35 downTo 31) {
println(j)
}
// 35
// 34
// 33
// 32
// 31
// step 3 -> k값 3씩 증가
for (k in 41..49 step 3) {
println(k)
}
// 41
// 44 <- 41+3
// 47 <- 44+3
// step 2 -> l값 2씩 감소
for (l in 59 downTo 51 step 2) {
println(l)
}
// 59
// 57 <- 59-2
// 55 <- 57-2
// 53 <- 55-2
// 51 <- 53-2
// 문자열도 가능
for (m in 'a'..'e') {
println(m)
}
// a
// b
// c
// d
// e
// 배열이나 리스트도 가능
val blackPink = arrayListOf("Jennie", "Rosé", "Jisoo", "Lisa")
for(member in blackPink) {
println("${member} ")
}
// Jennie
// Rosé
// Jisoo
// Lisa
// 인덱스도 함께 출력 가능
for((index, member) in blackPink.withIndex()) {
println("${index + 1}번째 멤버 ${member}")
}
// 1번째 멤버 Jennie
// 2번째 멤버 Rosé
// 3번째 멤버 Jisoo
// 4번째 멤버 Lisa
// 이중 반복문
for (n in 1..3) {
for (o in 1..3) {
println("n is $n o is $o")
}
}
// n is 1 o is 1
// n is 1 o is 2
// n is 1 o is 3
// n is 2 o is 1
// n is 2 o is 2
// n is 2 o is 3
// n is 3 o is 1
// n is 3 o is 2
// n is 3 o is 3
// 구구단 출력하기
for (p in 2..9) {
for (q in 1..9) {
val times = p * q
println("$p * $q : $times")
}
}
// 2 * 1 : 2
// 2 * 2 : 4
// 2 * 3 : 6
// ...중략...
// 9 * 7 : 63
// 9 * 8 : 72
// 9 * 9 : 81
참고
반응형
'개발(Android) > kotlin syntax' 카테고리의 다른 글
[Kotlin syntax] Class (0) | 2022.04.04 |
---|---|
[Kotlin syntax] Break, Continue, Logical Operators (0) | 2022.04.04 |
[Kotlin syntax] Conditional expressions(If, When), Comparison Operators (0) | 2022.04.01 |
[Kotlin syntax] Type Inference, Functions, Arithmetic Operators (0) | 2022.03.31 |
[Kotlin syntax] Type Casting, Arrays (0) | 2022.03.31 |