๐ŸŒCoding/๐ŸŒŸKotlin

04. ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„์˜ ์ œ์–ด

๋ฟŒ์•ผ._. 2021. 4. 16. 11:20

๐Ÿ˜ถ if๋ฌธ๊ณผ if~else๋ฌธ

 

if (์กฐ๊ฑด์‹) {
	์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ //์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๊ฒฝ์šฐ์—๋งŒ ์ˆ˜ํ–‰
} else {
	์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ //์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ์— ์ˆ˜ํ–‰
}

- ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ์ด ํ•œ ์ค„์ด๋ฉด ์ค‘๊ด„ํ˜ธ๋ฅผ ์ƒ๋žต ๊ฐ€๋Šฅ

- ๋ฒ”์œ„(range) ์—ฐ์‚ฐ์ž: ๋ณ€์ˆ˜๋ช… in ์‹œ์ž‘ ๊ฐ’.. ๋งˆ์ง€๋ง‰ ๊ฐ’

* ์ฝ”ํ‹€๋ฆฐ io์˜ ํ‘œ์ค€ ํ•จ์ˆ˜์˜ readline()์€ ์ฝ˜์†”๋กœ๋ถ€ํ„ฐ ํ•œ ์ค„ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์ž„

 

 

 

๐Ÿ˜ถ when๋ฌธ

 

- ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋˜ switch~case๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ๋งŒ ์ œ๊ณต๋˜๋Š” ๋ฌธ๋ฒ•

when (์ธ์ž) {
   ์ธ์ž์— ์ผ์น˜ํ•˜๋Š” ๊ฐ’ ํ˜น์€ ํ‘œํ˜„์‹ -> ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ
   ์ธ์ž์— ์ผ์น˜ํ•˜๋Š” ๋ฒ”์œ„ -> ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ
   ...
   else -> ๋ฌธ์žฅ
}

 

- when์— ์ธ์ž๊ฐ€ ์ฃผ์–ด์ง€์ง€ ์•Š์œผ๋ฉด else if์ฒ˜๋Ÿผ ๊ฐ๊ฐ์˜ ์กฐ๊ฑด ์‹คํ–‰ ๊ฐ€๋Šฅ

- ํŠน์ • ์ธ์ž์— ์ œํ•œํ•˜์ง€ ์•Š๊ณ  ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ๊ตฌ์„ฑ ๊ฐ€๋Šฅ

when {
   ์กฐ๊ฑด[ํ˜น์€ ํ‘œํ˜„์‹]  -> ์‹คํ–‰๋ฌธ
   ...
}

 

 

 

๐Ÿ˜ถ for๋ฌธ

for (์š”์†Œ ๋ณ€์ˆ˜ in ์ปฌ๋ ‰์…˜ ํ˜น์€ ๋ฒ”์œ„){
	๋ฐ˜๋ณตํ•  ๋ณธ๋ฌธ
}

 - ์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ์ž๋ฐ”์™€ ๊ฐ™์€ ์„ธ๋ฏธ์ฝœ๋ก  ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ

//ํ•˜ํ–‰ ๋ฐ˜๋ณต -downTo

for (i in 5 downTo 1) print(i)

for (i in 5..1) print(i) #์ž˜๋ชป๋œ ์‚ฌ์šฉ! ์•„๋ฌด๊ฒƒ๋„ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Œ

//ํ•„์š”ํ•œ ๋‹จ๊ณ„ ์ฆ๊ฐ€ - step

for (i in 1..5 step 2) print(i)

//ํ˜ผํ•ฉ

for (i in 5 downTo 1 step 2) print(i)

 

 

 

๐Ÿ˜ถ while๋ฌธ

while (์กฐ๊ฑด์‹) { //์กฐ๊ฑด์‹์ด true์ธ ๋™์•ˆ ๋ณธ๋ฌธ์˜ ๋ฌดํ•œ ๋ฐ˜๋ณต
	๋ณธ๋ฌธ
    ...
}

 

 

 

๐Ÿ˜ถ do~while๋ฌธ

do{
  ๋ณธ๋ฌธ
}while (์กฐ๊ฑด์‹)

 

 

 

๐Ÿ˜ถ ํ๋ฆ„ ์ œ์–ด

 

return: ํ•จ์ˆ˜์—์„œ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ง€์ •๋œ ๋ผ๋ฒจ๋กœ ์ด๋™

break: for๋‚˜ while์˜ ์กฐ๊ฑด์‹์— ์ƒ๊ด€์—†์ด ๋ฐ˜๋ณต๋ฌธ์„ ๋๋ƒ„

continue: for๋‚˜ while์˜ ๋ฐ˜๋ณต๋ฌธ์˜ ๋ณธ๋ฌธ์„ ๋ชจ๋‘ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋‹ค์‹œ ์กฐ๊ฑด์œผ๋กœ ๋„˜์–ด๊ฐ

 

*์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฌธ: try {...} catch {...}: try ๋ธ”๋ก์˜ ๋ณธ๋ฌธ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋„์ค‘ ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด catch ๋ธ”๋ก์˜ ๋ณธ๋ฌธ์„ ์‹คํ–‰

*์ต๋ช… ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋น„์ง€์—ญ ๋ฐ˜ํ™˜์ด ์ผ์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค.

// Unit์„ ๋ช…์‹œ์ ์œผ๋กœ ๋ฐ˜ํ™˜

fun hello(name: String): Unit {
	println(name)
    return Unit
}

// Unit ์ด๋ฆ„์„ ์ƒ๋žตํ•œ ๋ฐ˜ํ™˜

fun hello (name: String): Unit {
	println(name)
    return
}

//return๋ฌธ ์ž์ฒด๋ฅผ ์ƒ๋žต

fun hello(name: String) {
	println(name)
}

 

 

 

๐Ÿ˜ถ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ

 

์˜ˆ์™ธ(exception)

   = ์‹คํ–‰ ๋„์ค‘์˜ ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๊นŒ์ง€ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰๋˜๋‹ค๊ฐ€

      ๋น„์ •์ƒ์ ์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋Š” ๊ฒฝ์šฐ

 

์˜ˆ์™ธ๋ฅผ ๋Œ€๋น„ํ•˜๊ธฐ ์œ„ํ•œ ๊ตฌ๋ฌธ

try {
	์˜ˆ์™ธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ ์žˆ๋Š” ๋ฌธ์žฅ
} catch (e: ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํด๋ž˜์Šค๋ช…) {
	์˜ˆ์™ธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ฌธ์žฅ
} finally{ //๋ฐ˜๋“œ์‹œ ์‹คํ–‰ํ•˜์•ผ ํ•  ์ž‘์—…์ด ์—†๋‹ค๋ฉด finally ๋ธ”๋ก์€ ์ƒ๋žต ๊ฐ€๋Šฅ
	๋ฐ˜๋“œ์‹œ ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋Š” ๋ฌธ์žฅ
}

 

ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ์˜ˆ์™ธ ๋ฐœ์ƒ

throw Exception(message: String)

 

 


์ถœ์ฒ˜) www.boostcourse.org/mo132

 

์ฝ”ํ‹€๋ฆฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ 1

๋ถ€์ŠคํŠธ์ฝ”์Šค ๋ฌด๋ฃŒ ๊ฐ•์˜

www.boostcourse.org

 

'๐ŸŒCoding > ๐ŸŒŸKotlin' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

03. ํ•จ์ˆ˜  (0) 2021.04.04
02. ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•, ์—ฐ์‚ฐ์ž  (0) 2021.04.01
01. Kotlin์ด๋ž€  (0) 2021.03.27
00. Kotlin๐Ÿ‘  (0) 2021.03.27