본문 바로가기
모바일/Kotlin

[Kotlin] 코틀린 반복문

by drCode 2021. 3. 31.
728x90
반응형

 

안녕하세요

 

이번 포스팅은 코틀린에서 사용하는 반복문에 대해 다뤄보겠습니다.

 

먼저 리스트를 하나 선언하겠습니다.

 

val a = mutableListOf<Int>(1, 2, 3, 4, 5, 6, 7, 8, 9)

 

(1) for (item in a) { }

for (item in a) {
	if(item == 5) {
		println("item is Five")
	} else {
		println("item is not Five")
	}
}

item은 a의 요소를 순회하며 받습니다.

 

출력 결과는 다음과 같습니다.

item is not Five
item is not Five
item is not Five
item is not Five
item is Five
item is not Five
item is not Five
item is not Five
item is not Five

 

(2) for((index, item) in a.withIndex()) { }

for((index, item) in a.withIndex()) {
//	println("index : " + index + " value : " + item)
	println("index : $index value : $item")
	// 문자열 + Int(정수) = 문자열
	// 문자열 + 아무거나 = 문자열
}

a의 index와 요소를 받으면서 순회합니다.

 

출력 결과는 다음과 같습니다.

index : 0 value : 1
index : 1 value : 2
index : 2 value : 3
index : 3 value : 4
index : 4 value : 5
index : 5 value : 6
index : 6 value : 7
index : 7 value : 8
index : 8 value : 9

 

(3) List.forEach{ }

a.forEach{
	println(it)
}

List a를 순회합니다. it를 요소로 받습니다.

 

1
2
3
4
5
6
7
8
9

 

(4) List.forEach{ item ->  }

a.forEach { item ->
	println(item)
}

List a를 순회하면서 a의 요소를 가져옵니다.

 

1
2
3
4
5
6
7
8
9

 

(5) a.forEachIndexed{ index, item -> }

a.forEachIndexed{ index, item ->
	println("index : $index value : $item")
}

List a를 순회하면서 각 index의 item을 가져옵니다

 

index : 0 value : 1
index : 1 value : 2
index : 2 value : 3
index : 3 value : 4
index : 4 value : 5
index : 5 value : 6
index : 6 value : 7
index : 7 value : 8
index : 8 value : 9

 

(6) for(i in 0 until a.size) { }

for(i in 0 until a.size) {
	// until은 마지막을 포함하지 않는다.
	// 0부터 a.size - 1까지이다.
	println(a.get(i))
}

index를 0부터 a의 크기 전까지 순회

 

1
2
3
4
5
6
7
8
9

 

(7) for (i in 0 until a.size step (2)) {  }

for (i in 0 until  a.size step (2)) {
	println(a.get(i))
}

a 리스트를 2 인덱스 씩  건너뛰며 순회

 

1
3
5
7
9

 

(8) for (i in a.size -1 downTo (0)) { }

for (i in a.size -1 downTo (0)) {
	// 8부터 0 까지 반복
	println(a.get(i))
}

a 리스트를 a.size -1 부터 0까지 역으로 순회

9
8
7
6
5
4
3
2
1

 

(9) for (i in a.size -1 downTo (0) step (2)) { }

for (i in a.size -1 downTo (0) step (2)) {
	println(a.get(i))
}

a 리스트를 a.size -1 부터 0까지 역으로 2씩 건너뛰며 순회

 

9
7
5
3
1

 

(10) for (i in 0..10) { }

 for (i in 0..10) {
	// .. 은 마지막을 포함하고, until은 포함하지 않는다.
	println(i)
}

0부터 10까지 순회

 

0
1
2
3
4
5
6
7
8
9
10

 

(11) while() {}

var b : Int = 0     // -> 1
var c : Int = 4

while(b < c) {
	b++         // while문을 정지시키기 위한 코드
	println("b")
}

whlie 조건을 만족할 때까지 반복

 

b
b
b
b

 

(12) do {} while()

var d : Int = 0
var e : Int = 4
println()
// 반복하는 방법 (12)
do {
	println("hello")
	d++
} while(d < e)

일단 문장을 먼저 실행하고 그다음 조건을 따지는 do ~ while문

hello
hello
hello
hello

728x90
반응형

댓글