๋์์ ๋ฐ๋ณตํ๋ ๋ฐ๋ณต๋ฌธ๊ณผ 1์ฉ ์ฆ๊ฐํ๋ ์ฆ๊ฐ์ฐ์ฐ์๋ฅผ ๊ณต๋ถํด ๋ณด์.
๐ฅ์ฆ๊ฐ ์ฐ์ฐ์
โถ๏ธ ์ฆ๊ฐ ์ฐ์ฐ์(increment operators)
++a
a++
๋ณ์ ์์ด๋ ๋ค์ +๋ฅผ 2๊ฐ ๋ถ์ฌ ์ฌ์ฉํ๋ ์ฐ์ฐ์๋ก ๋ณ์์ ๊ฐ์ '1' ์ฆ๊ฐ์์ผ์ฃผ๋ ์ญํ
โถ๏ธ ๊ฐ์ ์ฐ์ฐ์(decrement operators)
--a
a--
๋ณ์ ์์ด๋ ๋ค์ --๋ฅผ 2๊ฐ ๋ถ์ฌ ์ฌ์ฉํ๋ ์ฐ์ฐ์๋ก ๋ณ์์ ๊ฐ์ '1' ๊ฐ์์์ผ์ฃผ๋ ์ญํ
- +, -๋ฅผ ์์ ๋ถ์ผ ๊ฒฝ์ฐ ์์ ์์นํ๋ค ํ์ฌ ์ ์ ์ฐ์ฐ์(prefix operators)๋ผ๊ณ ํ๋ค. ์ ์ ์ฐ์ฐ์๋ ์ฐ์ฐ์๊ฐ ํฌํจ๋ ๊ตฌ๋ฌธ์์ ์ด๋ฏธ ์ฆ๊ฐ๋ ์๋ฅผ ๋ฐ์ํ์ฌ ์ฐ์ฐ์ด ์งํ๋๋ค.
- ์ด์ ๋ฐ๋ฉด +, -๋ฅผ ๋ค์ ๋ถ์ด๋ ํ์ ์ฐ์ฐ์(postfix operators)๋ ์ฆ๊ฐ๋ ๊ฐ์๋ ์๋ฅผ ํด๋น ๊ตฌ๋ฌธ์์ ์ฌ์ฉํ์ง ์๊ณ '๋ค์ ๊ตฌ๋ฌธ'๋ถํฐ ์ฌ์ฉํ๋ค๋ ์ฐจ์ด๊ฐ ์๋ค.
๐ฅ๋ฐ๋ณต๋ฌธ
โถ๏ธ ์กฐ๊ฑดํ ๋ฐ๋ณต๋ฌธ : ์กฐ๊ฑด์ด ์ฐธ์ธ ๊ฒฝ์ฐ ๋ฐ๋ณต์ ์ ์ง
1. while
- ์ฌ์ฉ๋ฒ
a๋ณ์๋ฅผ ๋ง๋ค์ด 0์ ๋ฃ์ด์ฃผ๊ณ , while์ ์ด ๋ค์ ๊ดํธ ์์ a์ 5๋ฅผ ๋น๊ตํ๋ ์กฐ๊ฑด์์ ๋ฃ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์กฐ๊ฑด์์ด ์ฐธ์ธ ๊ฒฝ์ฐ์ ๋ฐ๋ณตํ println ๊ตฌ๋ฌธ๊ณผ ๊ทธ ์์ a์ 1์ ๋ํด์ค ์ฆ๊ฐ์ฐ์ฐ์๋ฅผ ์ค๊ดํธ ์์ ๋ฃ๋๋ค.
- while์ด ๋ฐ๋ณต๋๋ ์์
๋จผ์ while์ด ํฌํจ๋ ์กฐ๊ฑด์์ด ์ฐธ์ธ์ง ํ์ธํ ํ, ์ฐธ์ด๋ผ๋ฉด while์ ๋ฐ๋ฅด๋ ๊ตฌ๋ฌธ์ 1ํ ์ํํ๋ค(ํ์ ์ฆ๊ฐ ์ฐ์ฐ์์ด๋ฏ๋ก ํ๋ฉด์ด ์ถ๋ ฅ๋ ํ์์ผ ์ฆ๊ฐ ๊ฐ์ด ๋ฐ์๋จ). ๊ทธ ํ ๋ค์ while๋ฌธ์ผ๋ก ๋์์์ ์กฐ๊ฑด์ ํ์ธํ๋ค. while๋ฌธ์ด ๊ฑฐ์ง์ด ๋๋ ์๊ฐ(a๊ฐ 5๊ฐ ๋๋ ์๊ฐ!) ๋ฐ๋ณต์ ์ค๋จํ๊ณ ๋ค์ ๊ตฌ๋ฌธ์ผ๋ก ๋์ด๊ฐ๋ค. ์ด ์์์๋ ๋ฐ๋ณต์๋ง๋ค a๊ฐ 1์ฉ ์ฆ๊ฐ๋๋ฏ๋ก ์คํ์์ผ๋ณด๋ฉด 0, 1, 2, 3, 4๊ฐ ์ฐํ๊ณ 5์์ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋์ด ํ๋ก๊ทธ๋จ์ด ์ข
๋ฃ๋๋ค.
var a = 0
while(a < 5){
println(a++)
}
0
1
2
3
4
- ์ ์ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
์ ์ ์ฐ์ฐ์๋ ํด๋น ๊ตฌ๋ฌธ ๋ด์์ ์ฆ๊ฐ๋ ๊ฐ์ ์ฆ์ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ฆ๊ฐ๊ฐ ๋จผ์ ๋ ํ ํ๋ฉด์ ์ถ๋ ฅ๋๊ฒ ๋๋ค. ๋ฐ๋ผ์ ์คํํ๋ฉด 1, 2, 3, 4, 5๊ฐ ์ฐํ๋ค.
var a = 0
while(a < 5){
println(++a)
}
1
2
3
4
5
2. do...while
var a = 0
do{
println(a++)
} while (a < 5)
0
1
2
3
4
do...while๋ฌธ์ while์ ์ํด ์กฐ๊ฑด์ ์ฒดํฌํ์ฌ ๋ฐ๋ณตํ๋ค๋ ์ ์ ๊ฐ์ง๋ง, ์ต์กฐ ํ ๋ฒ์ ์กฐ๊ฑด์์ด do์์ ๊ตฌ๋ฌธ์ ์คํํ ํ while๋ก ์กฐ๊ฑด์ ์ฒดํฌํ๋ค๋ ์ ํ๊ด๊ณ์ ์ฐจ์ด๊ฐ ์์ ๋ฟ์ด๋ค. ๋ฐ๋ผ์ ์กฐ๊ฑด๊ณผ ๊ด๊ณ์์ด ๋ฐ๋์ ํ ๋ฒ์ ์คํํด์ผ ํ๋ค๋ฉด do...while๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
โถ๏ธ ๋ฒ์ํ ๋ฐ๋ณต๋ฌธ : ๋ฐ๋ณต ๋ฒ์๋ฅผ ์ ํด ๋ฐ๋ณต์ ์ํ
- for
for์ ์ฌ์ฉ๋ฒ์ ๊ณ ์ ์ ์ธ ์ธ์ด๋ค๊ณผ๋ ๋ค๋ฅด๊ฒ ์ต์ ์ธ์ด๋ค์ด ์ ๊ณตํ๊ณ ์๋ ์กฐ๊ธ ๋ ์ฌ๋์ด ์ดํดํ๊ธฐ ์ฌ์ด ํํ๋ก ์ฌ์ฉํ ์ ์๋ค.
for(i in 0..9) {
print(i)
}
0123456789
- ์ฌ์ฉ๋ฒ
๋จผ์ for๋ฌธ์ ์ฐ๊ณ ๊ดํธ ์์ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ ๋ณ์๋ช
์ผ๋ก i๋ฅผ ์ง์ ํด ๋ณด์. ์ด ๋ ์ธ๋ฑ์ค๋ก ์ฌ์ฉํ ๋ณ์์๋ var์ ๋ถ์ด์ง ์์๋ ๋๋ค. ๊ทธ ๋ค์ 0๋ถํฐ 9๊น์ง ๋ฐ๋ณตํ๋๋ก ํ ๊ฒ์ธ๋ฐ in์ ์ฐ๊ณ 0..9๋ผ๊ณ ์ด๋ค. i๊ฐ 0๋ถํฐ 9 ์ด๋ด์์ ๋์ํ๋ค๋ ์๋ฏธ์ด๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก for๋ฌธ์ ๊ฐ์ 1์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ๋ฐ๋ณตํ๊ฒ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๊ดํธ ์์ i์ ๋ณํ๊ฐ์ ํ์ธํ๊ธฐ ์ํด์ print๋ฌธ์ผ๋ก i๊ฐ์ ์ฐ์ด๋ณด์. (print๋ println๊ณผ ๋ฌ๋ฆฌ ์ค์ ๋ผ์ง ์๊ณ ๋ถ์ฌ์ ์ถ๋ ฅํ ๋ ์ฌ์ฉํ๋ ํจ์์ด๋ค.) ์คํํด๋ณด๋ฉด 0๋ถํฐ 9๊น์ง 1์ฉ ์ฆ๊ฐํ๋ฉฐ ์ธ๋ฑ์ค ๊ฐ์ ์ถ๋ ฅํ๊ณ ์ข
๋ฃ๋๋ค.
for(i in 0..9 step3) {
print(i)
}
0369
์ฆ๊ฐ๊ฐ์ 1์ด ์๋ ๋ค๋ฅธ ๊ฐ์ผ๋ก ํ๋ ค๋ฉด ๋จ๊ณ๋ฅผ ๋ปํ๋ step์ ์ต์
์ผ๋ก ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค. step3์ ๋ถ์ธ ํ ๋ค์ ์คํ์์ผ ๋ณด๋ฉด 0, 3, 6, 9๋ก 3์ฉ ์ฆ๊ฐํ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
์ด๋ฒ์ ์ฆ๊ฐ๊ฐ ์๋ ๊ฐ์์ํค๋ ๋ฒ์ ์์๋ณด์.
๊ฐ์๋ .. ๋์ ์ downTo๋ผ๋ ํค์๋๋ฅผ ์ฌ์ฉํ๋ค.
for(i in 9 downTo 0) {
print(i)
}
9876543210
9 downTo 0์ ํ๋ฉด 9์ ์ 0๊น์ง 1์ฉ ๊ฐ์ํ๋ฉฐ ๋ฐ๋ณต๋๋ค. ๊ฐ์ ์ญ์ ๋ค์ step์ ๋ถ์ด๋ฉด ๋จ๊ณ๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค.
for๋ฌธ์ char ์๋ฃํ์๋ ์ฌ์ฉํ ์ ์๋๋ฐ a๋ถํฐ e๊น์ง ์ฆ๊ฐํ๋ฉฐ ๋ฐ๋ณตํ๋๋ก ํด๋ณด๋ฉด a, b, c, d, e๊ฐ ๋์จ๋ค.
for(i in 'a'..'e') {
print(i)
}
abcde
๐ฅ์ ๋ฆฌ
- ์ฆ๊ฐ ์ฐ์ฐ์์๋ 1์ฉ ์ฆ๊ฐ์ํค๊ณ ๊ฐ์์ํค๋ ์ฆ๊ฐ ์ฐ์ฐ์์ ๊ฐ์ ์ฐ์ฐ์๊ฐ ์๋ค.
- ๋ฐ๋ณต๋ฌธ์๋ ์กฐ๊ฑดํ ๋ฐ๋ณต๋ฌธ์ธ while๊ณผ do..while, ๋ฒ์ํ ๋ฐ๋ณต๋ฌธ์ธ for๊ฐ ์๋ค.
๋ค์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํ์ฌ ๊ณต๋ถํ์ต๋๋ค.
https://www.youtube.com/watch?v=96rFgaDR5xM&list=PLQdnHjXZyYadiw5aV3p6DwUdXV2bZuhlN&index=6