[TIL] 2023.11.24

Gahyeon Leeยท2023๋…„ 11์›” 24์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
8/47
post-thumbnail

๋™์ž‘์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋ฐ˜๋ณต๋ฌธ๊ณผ 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

profile
์ฝ”๋ฆฐ์ด ๊ฐ•์•„์ง€ ์ง‘์‚ฌ๐Ÿถ

0๊ฐœ์˜ ๋Œ“๊ธ€