์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- ์๋ฐ
- ์ค๋ธ์
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- database
- dmz๊ตฌ์ฑ
- dmz๋คํธ์ํฌ
- ํ์ฒ์ ๋ฆฌํธ๋ฆฌํธ
- dmz๋
- ์ํ
- css
- ๋คํธ์ํฌdmz
- Python
- ์นํผ๋ธ๋ฆฌ์ฑ
- ๊ฐ๋ฐ
- ๋ฐฉํ๋ฒฝdmz
- ์ฝ๋ฉ
- ์ค๋ผํด
- ํ๋ก๊ทธ๋๋ฐ
- ํ์ด์ฌ
- ๋๊ฐ
- ์ ๋ฆฌํธ๋ฆฌํธ
- JavaScript
- html
- ์นดํ๋๊ฐ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ์ฑ
- ์๋ฐ์คํฌ๋ฆฝํธ
- Java
- ๊ฐ์์ ์
- ๋ ์
- Today
- Total
JiYoung Dev ๐ฅ
[์๋ฐ] ์กฐ๊ฑด๋ฌธ (if / if - else / if - else if - else / switch) ๋ณธ๋ฌธ
[์๋ฐ] ์กฐ๊ฑด๋ฌธ (if / if - else / if - else if - else / switch)
Shinjio 2023. 2. 20. 15:35์๋ฐ pre-training - 2023.02.20 ํ์ต ๋ด์ฉ
์ฐธ๊ณ ์๋ฃ
์ฝ๋ฉ๊ต์ก ํฐ์จํผ์ค์ฟจ
4์ฐจ์ฐ์ ํ๋ช , ์ฝ๋ฉ๊ต์ก, ์ํํธ์จ์ด๊ต์ก, ์ฝ๋ฉ๊ธฐ์ด, SW์ฝ๋ฉ, ๊ธฐ์ด์ฝ๋ฉ๋ถํฐ ์๋ฐ ํ์ด์ฌ ๋ฑ
tcpschool.com
๐ ์ ์ด๋ฌธ (control flow statements)
ํ๋ก๊ทธ๋จ์ ๋ช ๋ น์ ์์(ํ๋ฆ)๋ฅผ ์ ์ดํ๋ ๋ฌธ๋ฒ
์๋ฐ ํ๋ก๊ทธ๋จ์ด ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ธฐ ์ํด์๋ ํ๋ก๊ทธ๋จ์ ์์ฐจ์ ์ธ ํ๋ฆ์ ์ ์ดํด์ผ๋ง ํ ๊ฒฝ์ฐ๊ฐ ์๊น. ์ด๋ ์ฌ์ฉํ๋ ๋ช ๋ น๋ฌธ์ ์ ์ด๋ฌธ์ด๋ผ๊ณ ํ๋ฉฐ, ์ด๋ฌํ ์ ์ด๋ฌธ์๋ ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ ๋ฑ์ด ์์
์ด๋ฌํ ์ ์ด๋ฌธ์ ์ํ๋ ๋ช ๋ น๋ฌธ๋ค์ ์ค๊ดํธ({})๋ก ๋๋ฌ์ธ์ฌ ์์ผ๋ฉฐ, ์ด๋ฌํ ์ค๊ดํธ ์์ญ์ ๋ธ๋ก(block)์ด๋ผ๊ณ ํจ
์๋ฐ ์ ์ด๋ฌธ์ ์ข ๋ฅ
- ์กฐ๊ฑด๋ฌธ : ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ช ๋ น์ ์คํ (if๋ฌธ, switch๋ฌธ)
- ๋ฐ๋ณต๋ฌธ : ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ช ๋ น์ ๋ฐ๋ณต (while๋ฌธ, do-while๋ฌธ, for๋ฌธ)
๐ ์กฐ๊ฑด๋ฌธ(conditional statements)
์ฃผ์ด์ง ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ณ๋์ ๋ช ๋ น์ ์ํํ๋๋ก ์ ์ดํ๋ ๋ช ๋ น๋ฌธ (๊ฐ ์กฐ๊ฑด๋ง๋ค ํด๋นํ๋ ๋ช ๋ น์ ์คํ)
์ฃผ์ด์ง ์กฐ๊ฑด์ ๋น๊ตํ์ฌ ์กฐ๊ฑด์ ๋ง์กฑํ ๊ฒฝ์ฐ ์ง์ ๋ ๋ช ๋ น๋ฌธ์ ์คํํ๊ณ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ์ ๋ช ๋ น์ ์คํํ๋ ๊ตฌ๋ฌธ
โ ์กฐ๊ฑด๋ฌธ์ ์ข ๋ฅ
1. if ๋ฌธ
2. if - else ๋ฌธ
3. if - else if - else ๋ฌธ (๋ค์ค if ๋ฌธ)
4. switch ๋ฌธ
โ if ๋ฌธ
๊ฐ๋จํ๊ฒ ์ฐธ์ ๊ตฌ๋ถํ ๋ ์ฌ์ฉ
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ(true)๋ผ๋ฉด ์ฃผ์ด์ง ๋ช ๋ น๋ฌธ(์คํ๋ฌธ์ฅ1, ์คํ๋ฌธ์ฅ2)์ ์คํํ๋ฉฐ,
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ๊ฑฐ์ง(false)๋ผ๋ฉด ์๋ฌด๊ฒ๋ ์คํํ์ง ์์
if (์กฐ๊ฑด์) {
์คํ๋ฌธ์ฅ1;
์คํ๋ฌธ์ฅ2;
}
โ if - else ๋ฌธ
๊ฐ๋จํ๊ฒ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ตฌ๋ถํ ๋ ์ฌ์ฉ
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ(true)๋ผ๋ฉด ์ฃผ์ด์ง ๋ช ๋ น๋ฌธ(์คํ๋ฌธ์ฅ1, ์คํ๋ฌธ์ฅ2)์ ์คํํ๊ณ ,
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๊ฐ ๊ฑฐ์ง(false)๋ผ๋ฉด ๊ฑฐ์ง์ ํด๋นํ๋ ๋ช ๋ น๋ฌธ(์คํ๋ฌธ์ฅ3) ์คํ
if (์กฐ๊ฑด์) {
์คํ๋ฌธ์ฅ1;
์คํ๋ฌธ์ฅ2;
} else {
์คํ๋ฌธ์ฅ3;
}
โผโผโผ if - else ๋ฌธ์ ์ด์ฉํ ์ฝ๋ ์์ฑ โผโผโผ

โ ๋ค์ค if ๋ฌธ (if - else if - else ๋ฌธ)
๋ค์์ ์กฐ๊ฑด๋ฌธ์ ์ฐจ๋ก๋๋ก ๋น๊ตํ์ฌ ์คํ
์ฒซ ๋ฒ์งธ ์กฐ๊ฑด์์ด ๊ฑฐ์ง์ผ ๋ ๋ ๋ฒ์งธ ์กฐ๊ฑด์ ์คํํ๊ณ , ๋ ๋ฒ์งธ ์กฐ๊ฑด์๋ ๊ฑฐ์ง์ด๋ผ๋ฉด ์ธ ๋ฒ์งธ ์กฐ๊ฑด์ ์คํ
if (์กฐ๊ฑด์1) {
์คํ๋ฌธ์ฅ1;
} else if (์กฐ๊ฑด์2) {
์คํ๋ฌธ์ฅ2;
} else if (์กฐ๊ฑด์3) {
์คํ๋ฌธ์ฅ3;
}
โผโผโผ if - else if - else ๋ฌธ์ ์ด์ฉํ ์ฝ๋ ์์ฑ โผโผโผ

* ์ผํญ ์ฐ์ฌ์์ ์ํ ์กฐ๊ฑด๋ฌธ
์๋ฐ์์๋ ๊ฐ๋จํ if / else ๋ฌธ์ ์ผํญ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ ๊ฐ๊ฒฐํ๊ฒ ํํํ ์ ์์
๋ฌธ๋ฒ
์กฐ๊ฑด์ ? ๋ฐํ๊ฐ1 : ๋ฐํ๊ฐ2
โ ์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ๋ฐํ๊ฐ1 ์ถ๋ ฅ, ๊ฑฐ์ง์ด๋ฉด ๋ฐํ๊ฐ 2 ์ถ๋ ฅํ๋ ์คํ๋ฌธ
โ switch ๋ฌธ
if - else ๋ฌธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฃผ์ด์ง ์กฐ๊ฑด ๊ฐ์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ํ๋ก๊ทธ๋จ์ด ๋ค๋ฅธ ๋ช ๋ น์ ์ํํ๋๋ก ํ๋ ์กฐ๊ฑด๋ฌธ
switch๋ฌธ์ if - else ๋ฌธ๋ณด๋ค ๊ฐ๋ ์ฑ์ด ๋ ์ข์ผ๋ฉฐ, ์ปดํ์ผ๋ฌ๊ฐ ์ต์ ํ๋ฅผ ์ฝ๊ฒ ํ ์ ์์ด ์๋ ๋ํ ๋น ๋ฅธ ํธ
ํ์ง๋ง switch ๋ฌธ์ ์กฐ๊ฑด ๊ฐ์ผ๋ก๋ intํ์ผ๋ก ์น๊ฒฉํ ์ ์๋(integer promotion) ๊ฐ๋ง ์ฌ์ฉ๋ ์ ์์.
์ฆ, ์๋ฐ์์๋ switch ๋ฌธ์ ์กฐ๊ฑด ๊ฐ์ผ๋ก byteํ, shortํ, charํ, intํ์ ๋ณ์๋ ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ ์ ์์.
๋ํ, ์ด๋ฌํ ๊ธฐ๋ณธ ํ์ ์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด๋ก ํฌ์ฅํด ์ฃผ๋ ๋ํผ ํด๋์ค(Wrapper class) ์ค์์ ์์ ํด๋นํ๋ Byte, Short, Character, Integer ํด๋์ค์ ๊ฐ์ฒด๋ ์ฌ์ฉํ ์ ์์. ๊ทธ๋ฆฌ๊ณ enum ํค์๋๋ฅผ ์ฌ์ฉํ ์ด๊ฑฐ์ฒด(enumeration type)์ String ํด๋์ค์ ๊ฐ์ฒด๋ ์ฌ์ฉํ ์ ์์.
์ฆ, switch ๋ฌธ์ if - else ๋ฌธ๋ณด๋ค๋ ์ฌ์ฉํ ์ ์๋ ์ํฉ์ด ์ ์
switch (์กฐ๊ฑด ๊ฐ) {
case ๊ฐ1:
์กฐ๊ฑด ๊ฐ์ด ๊ฐ1์ผ ๋ ์คํํ๊ณ ์ ํ๋ ๋ช ๋ น๋ฌธ;
break;
case ๊ฐ2:
์กฐ๊ฑด ๊ฐ์ด ๊ฐ2์ผ ๋ ์คํํ๊ณ ์ ํ๋ ๋ช ๋ น๋ฌธ;
break;
...
default: // ํ์ํ ๋ ์ ์ธ ๊ฐ๋ฅ
์กฐ๊ฑด ๊ฐ์ด ์ด๋ ํ case ์ ์๋ ํด๋นํ์ง ์์ ๋ ์คํํ๊ณ ์ ํ๋ ๋ช ๋ น๋ฌธ;
break;
}
โผโผโผ switch ๋ฌธ์ ์ด์ฉํ ์ฝ๋ ์์ฑ โผโผโผ

break ํค์๋๋ ์กฐ๊ฑด ๊ฐ์ ํด๋นํ๋ case ์ ์ด๋ default ์ ์ด ์คํ๋ ๋ค์ ์ ์ฒด switch๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ฒ ํด ์ค. ๋ง์ฝ, break ํค์๋๊ฐ ์๋ค๋ฉด, ์กฐ๊ฑด์ ํด๋นํ๋ switch๋ฌธ์ case์ ์ดํ์ ๋ชจ๋ case ์ ์ด ์ ๋ถ ์คํ๋ ๊ฒ
โผโผโผ switch ๋ฌธ์์ break ํค์๋๋ฅผ ์ฌ์ฉํ์ง ์์์ ๋ ๊ฒฐ๊ณผ โผโผโผ

'full stack > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ์๋ฐ ์์ (1) | 2023.03.18 |
---|---|
[์๋ฐ] ๋ฐ๋ณต๋ฌธ for / while / do - while (1) | 2023.02.21 |
[์๋ฐ] ์ ์ถ๋ ฅ (0) | 2023.02.18 |
[์๋ฐ] ์ฐ์ฐ์ (์ฐ์ , ๋์ , ๋น๊ต, ๋ ผ๋ฆฌ, ์ฆ๊ฐ, ์ผํญ ์ฐ์ฐ์) (0) | 2023.02.17 |
[์๋ฐ] Java ํน์ง / ํ๊ฒฝ๊ตฌ์ถ ๋ฐ ์ฌ์ฉ๋ฒ / ๋ณ์ (0) | 2023.02.16 |