๋ฐ๋ณต๋ฌธ์ ๋ฐ๋ณตํ ์ ์๋ ๊ฐ์ฒด์ ๋ํด ๋ฐ๋ณต์ ์ธ ๊ธฐ๋ฅ์ ์ํํ๋ ๊ฒ์ ๋๋ค.
for in ๋ฐ๋ณต๋ฌธ์ for(๋ณ์ in ๋ฐ๋ณต ๋์๋ช
){์คํ๋ฌธ}์ ํ์์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
๋ฐ๋ณต ๋์์ ๋ฐ๋ณต ํ์๋งํผ ์คํ๋ฌธ์ ๋ฐ๋ณตํ๋ฉฐ ๋์ ๊ฐ์ด ๋ณ์์ ๋ค์ด๊ฐ๋๋ค.
ex)
val mNumList= mutableListOf<Int>(4,5,6,7)
for (num in mNumList){
println(num)
}
์คํ ํ๋ฉด
for((Index ๋ช
, ๋ณ์) in ๋ฐ๋ณต ๋์๋ช
.withIndex()){์คํ๋ฌธ}์ ํ์์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
ex)
val mNumList = mutableListOf<Int>(4, 5, 6, 7)
for ((index, num) in mNumList.withIndex()) {
println("index = $index value = $num")
}
์คํ ํ๋ฉด
lambda๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต๋ฌธ์ forEach๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
๋์๋ช
.forEach{์คํ๋ฌธ}์ ํํ๋ก ์ฌ์ฉํ ์ ์๊ณ ์ด ๋ ๊ฐ์ it์ผ๋ก ๋ค์ด์ต๋๋ค.
๋์๋ช
.forEach{๋ณ์->์คํ๋ฌธ}์ ์ฌ์ฉํ์ฌ ๋ณ์ ์ด๋ฆ์ ์ง์ ํ ์๋ ์์ต๋๋ค.
ex)
val mNumList = mutableListOf<Int>(4, 5, 6, 7)
mNumList.forEach() { num -> println(num) }
์คํ ํ๋ฉด
๋ฐ๋ณต ๋์.forEachIndexed{index ๋ช
,๋ณ์->์คํ๋ฌธ}์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
ex)
val mNumList = mutableListOf<Int>(4, 5, 6, 7)
mNumList.forEachIndexed { index, num -> println("index = $index value = $num") }
์คํ ํ๋ฉด
for(index in ์ด๊ธฐ๊ฐ .. ๋ชฉํฏ๊ฐ){์คํ๋ฌธ}์ ํ์์ผ๋ก ์ฌ์ฉ๋๋ค.
๋ชฉํฏ๊ฐ ๊น์ง index๊ฐ ์ฆ๊ฐํ๋ฉฐ ์คํ๋ฌธ์ ๋ฐ๋ณตํ๋ค.
ex)
val mNumList = mutableListOf<Int>(4, 5, 6, 7)
for (i in 0..mNumList.size-1){
println(mNumList.get(i))
}
์คํ ํ๋ฉด
for(index in ์ด๊ธฐ๊ฐ until ๋ชฉํฏ๊ฐ){์คํ๋ฌธ}์ ํ์์ผ๋ก ์ฌ์ฉํ๋ค.
๋ชฉํ ๊ฐ์ ๋ฐ๊น์ง index๊ฐ ์ฆ๊ฐํ๋ฉฐ ์คํ๋ฌธ์ ๋ฐ๋ณตํ๋ค.(until 10์ด๋ผ๋ฉด 9๊น์ง)
ex)
val mNumList = mutableListOf<Int>(4, 5, 6, 7)
for (index in 0 until mNumList.size) {
println(mNumList.get(index))
}
์คํ ํ๋ฉด
์ง๊ธ๊น์ง์ ๋ฐ๋ณต๋ฌธ์ 0 ๋ฑ์ ์ด๊ธฐ ๊ฐ๋ถํฐ index๊ฐ ์ฆ๊ฐํ๋ ๋ฐฉ์์ด์๋ค, downTo๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ถํฐ index๊ฐ ๊ฐ์ํ๋ ๋ฐฉ์์ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ์ ์๋ค.
downTo๋ for(๋ณ์ in ์ด๊ธฐ๊ฐ downTo(๋ชฉํฏ๊ฐ)){์คํ๋ฌธ}์ผ๋ก ์ฌ์ฉํ๋ค.
ex)
val mNumList = mutableListOf<Int>(4, 5, 6, 7)
for (index in mNumList.size - 1 downTo (0)) {
println(mNumList.get(index))
}
์คํ ํ๋ฉด
step์ ์ฌ์ฉํ๋ฉด index์ ์ฆ๊ฐ, ๊ฐ์๋์ ์ ์ดํ ์ ์๋ค.
for(์ฆ๊ฐ๋ฌธ step(์ฆ๊ฐ๋))์ ํ์์ผ๋ก ์ฌ์ฉํ๋ค.
ex)
val mNumList = mutableListOf<Int>(4, 5, 6, 7)
for (i in 0 until mNumList.size step (2)){
println(mNumList.get(i))
}
์คํ ํ๋ฉด
while๋ฌธ์ ๋ค์ ์กฐ๊ฑด์์ ํด๋น๋์ง ์์ ๋ ๊น์ง ์คํ๋ฌธ์ ๋ฐ๋ณตํฉ๋๋ค.
ํ์์ while(์กฐ๊ฑด๋ฌธ){์คํ๋ฌธ}
ex)
val b = 4
var a = 1
while (a < b) {
println(a)
a++
}
์คํ ํ๋ฉด
์ ์์์์ ์กฐ๊ฑด๋ฌธ์ "a๊ฐ b๋ณด๋ค ์๋ค"์
๋๋ค.
๋ฐ๋ผ์ a๊ฐ b๋ณด๋ค ์์ ๋๊น์ง ์คํ๋ฌธ์ ๋ฐ๋ณตํฉ๋๋ค.
a๋ฅผ ์ถ๋ ฅํ ๋ค์ a์ ๊ฐ์ ํ๋์ฉ ์ฆ๊ฐ์ํค๋ฏ๋ก a๊ฐ b์ ๊ฐ์ธ 4๊ฐ ๋๋ ์๊ฐ, while๋ฌธ์ ๋์์ ๋ฉ์ถฅ๋๋ค.
do while๋ฌธ์ while๋ฌธ๊ณผ ๋์ ๋ฐฉ์์ ๊ฐ์ผ๋ ์ผ๋จ ์คํ๋ฌธ์ ์คํํ๊ณ ๋ฐ๋ณต์ ์กฐ๊ฑด์ ํ์ธํฉ๋๋ค.
do{์คํ๋ฌธ}while(์กฐ๊ฑด๋ฌธ)์ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
ex)
val b = 1
var a = 1
do {
println(a)
a++
} while (a < b)
์คํ ํ๋ฉด
์ ์์์์ ๋ฐ๋ณต์ ์กฐ๊ฑด์ "a๊ฐ b๋ณด๋ค ์๋ค"์
๋๋ค.
a๋ b์ ๊ฐ์ผ๋ฏ๋ก ๋ฐ๋ณต์ ์กฐ๊ฑด์ ํด๋นํ์ง ์์ต๋๋ค.
ํ์ง๋ง do while๋ฌธ์์๋ ์ผ๋จ ์คํ๋ฌธ์ ํ๋ฒ ์คํ์ํค๊ธฐ์ a๊ฐ์ด ํ๋ฒ ์ถ๋ ฅ๋ ํ
while๋ฌธ์ ๋์์ ๋ฉ์ถ๋ ๊ฒ์ ๋ณด์ค ์ ์์ต๋๋ค.
- ๋ฐ๋ณต๋ฌธ์ ์ ์์งํด๋์.
- ์ค๋์ ๋ด ์ง ํ๋๋ผ ๊ณต๋ถ๋ฅผ ๋ง์ด ๋ชป ํ ๊ฒ ๊ฐ์ ์์ฝ๋ค.