2024. 3. 5. 20:03, ๐ฑAndroid Study
๋ฐ์ํ
5 ๋ฐ๋ณต๋ฌธ
- for: ํน์ ํ์๋งํผ ์ฝ๋๋ฅผ ๋ฐ๋ณต
- while: ํน์ ์กฐ๊ฑด์ด ๋ง์กฑํ ๋๊น์ง ์ฝ๋๋ฅผ ๋ฐ๋ณต
for ๋ฐ๋ณต๋ฌธ
for (๋ฐ๋ณตํ ๋ฒ์){
// ๋ฐ๋ณต๋ ์คํ ์ฝ๋
}
for in .. : ์ผ๋ฐ์ ์ธ ํํ์ for ๋ฐ๋ณต๋ฌธ
for (๋ณ์ in ์์๊ฐ..์ข
๋ฃ๊ฐ){
// ์คํ ์ฝ๋
}
for (index in 1..10){
Log.d("For", "ํ์ฌ ์ซ์๋ $index")
}
- ์์๊ฐ๊ณผ ์ข ๋ฃ๊ฐ์ผ๋ก ์ง์ ํ ์ซ์ ๋ฒ์๋งํผ(์ดํ) ์ฝ๋๋ฅผ ๋ฐ๋ณต
- in์ ์ฌ์ฉํ์ฌ ๋ฐ๋ณตํ๋ ๋ฒ์์ ์ซ์๋ฅผ ๋ณ์์ ๋ด์๋๊ณ ์ฌ์ฉ
in until : ๋ง์ง๋ง ์ซ์ ์ ์ธํ๊ธฐ(๋ฏธ๋ง)
for (๋ณ์ in ์์๊ฐ until ์ข
๋ฃ๊ฐ){
// ์คํ ์ฝ๋
}
var array = arrayOf("JAN", "FEB", "MAR", "APR", "MAY", "JUN")
for (index in 0 until array.size){
Log.d("For", "ํ์ฌ ์์ ${array.get(index)}์
๋๋ค.")
}
- ์์๊ฐ๊ณผ ์ข ๋ฃ๊ฐ ์ฌ์ด์ .. (์จ์ 2๊ฐ) ๋์ ์ until์ ์ฌ์ฉํ๋ฉด ์ข ๋ฃ๊ฐ ์ด์ (๋ฏธ๋ง)๊น์ง๋ง ๋ฐ๋ณต
- ์ปดํจํฐ์ ์ธ๋ฑ์ค๊ฐ ํญ์ 0๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฒ๋ฆฌํ๋ ์ฝ๋์์ ์ฌ์ฉ
- ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ํญ์ '๋ง์ง๋ง ์ธ๋ฑ์ค + 1์ ๊ฐ'
๋ฐ๋ผ์ ๋ฐ๋ณต์ ํ ๋ ๋ฐฐ์ด์ ํฌ๊ธฐ ๋ฐ๋ก ์ ๊น์ง๋ง ๋ฐ๋ณตํด์ผ ํจ
step : ๊ฑด๋๋ฐ๊ธฐ
for (๋ณ์ in ์์๊ฐ..์ข
๋ฃ๊ฐ step 3){
// ์คํ ์ฝ๋
}
for(i in 1 until 11 step 2){
println(i)
}
// 1, 3, 5, 7, 9
- ๋ฒ์ ์์ ๋ฐ๋ณตํ๋ฉด์ ์ํ๋ ๊ฐ๊ฒฉ์ ์ซ์๋ง ์ฌ์ฉํ๊ณ ์ถ์ ๋ step ์ฌ์ฉ
- for๋ฌธ ์์ if๋ฌธ์ ์ฌ์ฉํ ์ ์์ง๋ง, ๊ทธ๋ ๊ฒ ํ๋ฉด ๋งค๋ฒ if๋ฌธ์ ์คํํด์ ์ฝ๋๊ฐ ๋ญ๋น๋จ
downTo : ๊ฐ์์ํค๊ธฐ
for (index in 10 downTo 0){
Log.d("For", "ํ์ฌ ์ซ์๋ $index")
}
- ํฐ ์์์ ์์ ์๋ก ๊ฐ์์ํค๋ฉด์ ๋ฐ๋ณต๋ฌธ์ ์คํ
- ์ฆ๊ฐํ ๋์ ๊ฐ์ด step์ ์ฌ์ฉํ ์๋ ์์
๋ฐฐ์ด, ์ปฌ๋ ์ ์ ๋ค์ด ์๋ ์๋ฆฌ๋จผํธ ๋ฐ๋ณตํ๊ธฐ
for (๋ณ์ in ๋ฐฐ์ด ๋๋ ์ปฌ๋ ์
){
// ์คํ ์ฝ๋
}
var arrayMonth = arrayOf("JAN", "FEB", "MAR", "APR", "MAY", "JUN")
for (month in arrayMonth){
Log.d("for", "ํ์ฌ ์์ ${month}์
๋๋ค.")
}
// arrayMonth์ ๋ด๊ฒจ ์๋ ์๋ฆฌ๋จผํธ๋ค์ month ๋ณ์์ ๋ด์ ํ์ ๋ก๊ทธ๋ก ์ถ๋ ฅ
- ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์ ์ ์๋ฆฌ๋จผํธ์ ๊ฐ์๋งํผ ๋ฐ๋ณตํ๋ฉด์ ์ฌ์ฉ
- ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ณด๋ค ๋ ํธํ๊ณ ๊ฐ๋ ์ฑ๋ ์ข์
while ๋ฐ๋ณต๋ฌธ
while (์กฐ๊ฑด์) {
// ์กฐ๊ฑด์ ๋ง์กฑํ ๋๊น์ง๋ ๊ณ์ ๋ฐ๋ณต
}
var a = 1
while (a == 1) {
Log.d("while", "์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ์ฌ๊ธฐ๋ฅผ ์ถ๋ ฅํ์ธ์!")
}
// ๋ฌดํ ๋ฃจํ ์์
- for ๋ฌธ์ด ํน์ ๋ฒ์๋งํผ ๋ฐ๋ณตํ๊ธฐ ์ํ ๊ตฌ๋ฌธ์ด๋ผ๋ฉด, while ๋ฌธ์ ํน์ ์กฐ๊ฑด์ด ๋ง์กฑํ ๋๊น์ง ๋ฐ๋ณตํ๊ธฐ ์ํ ๊ตฌ๋ฌธ
- ๋ฐ๋ณต์ด ๊ฐ๋ฅํ if ๋ฌธ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ์ฌ์
- while ๋ฌธ ๊ดํธ ์์ ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ํญ์ true์ด๋ฉด ๋์์ด ๋์ํ๋ ๋ฌดํ๋ฃจํ์ ๋น ์ง
์ผ๋ฐ์ ์ธ while ๋ฐ๋ณต๋ฌธ
var current = 1
var until = 12
while (current < until) {
Log.d("while", "ํ์ฌ ๊ฐ์ ${current}์
๋๋ค.")
current = current + 1
}
//current ๋ณ์๊ฐ ์ธ๋ฑ์ค์ ์ญํ ์ํ
- for ๋ฌธ๊ณผ๋ ๋ค๋ฅด๊ฒ ์ฆ๊ฐ๋๋ ์ธ๋ฑ์ค๊ฐ ์์ผ๋ฉด ์ฝ๋์์ ์ง์ ์ฒ๋ฆฌํด์ผ ํจ
do ~ while
var game = 1
var match = 6
do {
Log.d("while", "${game}๊ฒ์ ์ด๊ฒผ์ต๋๋ค. ์ฐ์น๊น์ง ${match-game}๊ฒ์ ๋จ์์ต๋๋ค.")
game +=1
} while (game < match)
- do์ ํจ๊ป ์ฌ์ฉํ๋ฉด while ๋ฌธ์ ์กฐ๊ฑด์๊ณผ ๊ด๊ณ์์ด do ๋ธ๋ก ์์ ์ฝ๋๋ฅผ ๋จผ์ ํ ๋ฒ ์คํ
break, continue : ๋ฐ๋ณต๋ฌธ ์ ์ดํ๊ธฐ
for (index in 1..10){
Log.d("break", "ํ์ฌ index๋ $index ์
๋๋ค.")
if (index > 5){
break
}
}
// index๊ฐ 6์ด ๋์์ ๋ ๋ฐ๋ณต๋ฌธ ํ์ถ (์ฌ์ฏ๋ฒ์งธ ๋ก๊ทธ๊ฐ ์ฐํ ํ์ for ๋ธ๋ก์ ๋น ์ ธ๋๊ฐ)
for (exceptin 1..10) {
if (except > 3 && except < 8){
continue
}
Log.d("continue", "ํ์ฌ index๋ $except ์
๋๋ค.")
}
// except๊ฐ 3๋ณด๋ค ํฌ๊ณ 8๋ณด๋ค ์์ผ๋ฉด ๋ก๊ทธ๋ฅผ ์ฐ์ง ์๊ณ for ๋ฌธ์ ์ฒ์์ผ๋ก ๋์๊ฐ
// 4, 5, 6, 7์ ์ถ๋ ฅ๋์ง ์์
- break: ๋ฐ๋ณต๋ฌธ ํ์ถํ๊ธฐ
๋ฐ๋ณต๋ฌธ ์์์ break๋ฅผ ๋ง๋๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ๋ณต๋ฌธ์ ํ์ถ - continue: ๋ฐ๋ก ๋ค์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ฐ๊ธฐ
๋ฐ๋ณต๋ฌธ ๋ด์์ continue๋ฅผ ๋ง๋๋ฉด continue ๋ค์ ์ฝ๋๋ ์คํํ์ง ์๊ณ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ๋ณต๋ฌธ์ ์ฒ์์ผ๋ก ๋์๊ฐ
๋ฐ์ํ
๐ฌ C O M M E N T