์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ์นํผ๋ธ๋ฆฌ์ฑ
- ๋ฆฌ์กํธ
- K๋ฐฐํฐ๋ฆฌ
- html
- Java
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ ์
- ์ค๋ผํด
- ๋ง์ผ๋ด๊ฐ์ธ์์๋ค์์ฐ๋ค๋ฉด
- ComputerScience
- css
- ๋ผํ๋ผ์ค์๋ง๋
- database
- ์ปดํจํฐ๊ณผํ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ๊น๋ฏธ๊ฒฝ์๋งํ์์
- ์ฝ๋ฉ
- ์นํ์ด์ง๋ง๋ค๊ธฐ
- ํ์ด์ฌ
- ์๋ฐ
- ์ฑ
- ๋ฐ์ํ
- ์ค๋ธ์
- K๋ฐฐํฐ๋ฆฌ๋ ๋ณผ๋ฃจ์
- JavaScript
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ๊ฐ๋ฐ
- ์ํ
- Python
- ํ๋ก๊ทธ๋๋ฐ
- Today
- Total
JiYoung Dev ๐ฅ
[JAVA] ์กฐ๊ฑด๋ฌธ (2023.03.23 ์์ ) ๋ณธ๋ฌธ
2023.03.23 ํ์ต ๋ด์ฉ
๐ ์กฐ๊ฑด๋ฌธ
์ฃผ์ด์ง ์กฐ๊ฑด์ ๋น๊ต/ํ๋จํ์ฌ ๊ทธ ์กฐ๊ฑด์ ๋ง์กฑํ ๊ฒฝ์ฐ ์ง์ ๋ ๋ช ๋ น์ ์คํํ๊ณ ๋ง์กฑํ์ง ์์ ๊ฒฝ์ฐ ๋ค์ ๋จ๊ณ์ ๋ช ๋ น์ ์ํํ๋๋ก ํ๋ ๊ตฌ๋ฌธ (์กฐ๊ฑด์ด ์ค์!!)
๐ ์์๋(flowchart) → ์ง์ ๊ทธ๋ฆด ์ ์์ด์ผ ํจ
๊ด๋ จ์๋ฃ
๐ ์กฐ๊ฑด๋ฌธ์ ์ข ๋ฅ
๋จ์if๋ฌธ
if ~ else๋ฌธ
๋ค์ค if ~ else๋ฌธ
switch๋ฌธ
โ ๋จ์if๋ฌธ
if๋ฌธ์ ์กฐ๊ฑด์ด ์ฐธ(true)์ด๋ฉด if๋ฌธ ๋ด๋ถ์ '์คํ๋ฌธ์ฅ'์ด ์คํ๋๋ฉฐ ๊ฑฐ์ง(false)์ด๋ฉด if๋ฌธ์ ๋ฒ์ด๋จ
๋จ์if๋ฌธ์์ ๋ฌผ์ด๋ณด๋ ์กฐ๊ฑด์ ๋จ 1๊ฐ. ์กฐ๊ฑด์ ํญ์ ๋ ผ๋ฆฌํ(๋น๊ต์ฐ์ฐ์ ํน์ ๋ ผ๋ฆฌ์ฐ์ฐ์)
๋น๊ต์ฐ์ฐ์ : ๋ถ๋ฑํธ ์ฐ์ฐ, ๊ฐ๋ค/๋ค๋ฅด๋ค ์ฐ์ฐ
๋ ผ๋ฆฌ์ฐ์ฐ์ : NOT, AND, OR ์ฐ์ฐ์
ex. ์ ์ n1๊ณผ ์ ์ n2๊ฐ 0๋ณด๋ค ํฐ์ง ํ๋ณ (๋ชจ๋ 0๋ณด๋ค ํด ๊ฒฝ์ฐ "0๋ณด๋คํฌ๋ค!"๋ฅผ ์ถ๋ ฅ)
int n1 = 20;
int n2 = -20;
if ((n1 > 0) && (n2 > 0)) { // ๋ ผ๋ฆฌ์ฐ์ฐ์ ์ฌ์ฉ
System.out.println("0๋ณด๋คํฌ๋ค!")
}
๋ค์๋ฌธ์ฅ
if(์กฐ๊ฑด์) {
์คํ๋ฌธ์ฅ
}
๋ค์๋ฌธ์ฅ
์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ์คํ๋ฌธ์ ์คํ ํ ๋ค์๋ฌธ์ฅ ์คํ๋จ
์กฐ๊ฑด์์ด ๊ฑฐ์ง์ด๋ฉด ๋ค์๋ฌธ์ฅ์ด ๋ฐ๋ก ์คํ๋จ
Dead Code
์คํ์ด ๋์ง ์๋ ์ฝ๋
if๋ฌธ ์กฐ๊ฑด ๋ด์ false๋ฅผ ์ ๋ ฅํ๋ฉด ์ ๋ ์คํ์ด ๋์ง ์์ผ๋ฏ๋ก dead code๊ฐ ๋จ
โ if ~ else๋ฌธ
if์ ์กฐ๊ฑด์์ด ์ฐธ์ธ ๊ฒฝ์ฐ์ ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ์ ๊ฐ๊ฐ ์คํํ ๋ฌธ์ฅ์ ์ง์
if๋ฌธ์ ์กฐ๊ฑด์์ด ์ฐธ(true)์ด๋ฉด if๋ฌธ ๋ด๋ถ์ '์คํ๋ฌธ์ฅ'์ด ์คํ๋๋ฉฐ ๊ฑฐ์ง(false)์ด๋ฉด else๋ฌธ ๋ด๋ถ์ '์คํ๋ฌธ์ฅ'์ ์คํ
→ ์กฐ๊ฑด์ 1๊ฐ
if(์กฐ๊ฑด์) {
์คํ๋ฌธ์ฅ1
}else{
์คํ๋ฌธ์ฅ2
}
๋ค์๋ฌธ์ฅ
์กฐ๊ฑด์์ด true์ด๋ฉด ์คํ๋ฌธ์ฅ1์ ์คํํ ํ if-else๋ฌธ์ ๋ฒ์ด๋๊ณ , false์ด๋ฉด ์คํ๋ฌธ์ฅ2๋ฅผ ์คํํ ํ if-else๋ฌธ์ ๋ฒ์ด๋จ
โผ ๋ด๊ฐ ์์ฑํ ์ฝ๋ → ์ฝ๋ ๋ด ๋ฐ๋ณต๋๋ ๋ฌธ์ฅ์ด ์์ผ๋ฏ๋ก ์์ ํ๋๊ฒ ์ข๋ค
โผ ์ค ํ์ด (์กฐ๊ฑด๋ฌธ ์์ ํฉ๊ฒฉ ์กฐ๊ฑด ๋ชจ๋ ์์ฑ)
โ ๋ค์ค if ~ else๋ฌธ
if ~ else๋ฌธ์ด ์ฐ์๋๋ ๋ชจ์
์กฐ๊ฑด์ n๊ฐ (2๊ฐ ์ด์)
์กฐ๊ฑด ์ค ํ๋๋ผ๋ ์ผ์นํ๋(true) ์กฐ๊ฑด์ ๋ง๋๋ฉด ๋ ์ด์ ์กฐ๊ฑด์ ํ์ธํ์ง ์์
if(์กฐ๊ฑด์1){
์คํ๋ฌธ์ฅ1
} else if(์กฐ๊ฑด์n){
์คํ๋ฌธ์ฅn
}else{
์คํ๋ฌธ์ฅn+1
}
๋ค์๋ฌธ์ฅ
์กฐ๊ฑด์ด false์ผ ๋ ๊ณ์ ํ์ธํ๊ณ true๋ฅผ ๋ง๋๋ ์๊ฐ if๋ฌธ์ ๋น ์ ธ๋๊ฐ
๋ค์ค if~else๋ฌธ ์์ฑ ํ
โ ์กฐ๊ฑด์ ๋ฐ๋ผ์ ์ญ ์์ฑ
โก ์ค๋ณต๋๋ ์ง๋ฌธ์ ์ญ์ ํ๊ธฐ
โข ๋ง์ง๋ง ์ง๋ฌธ์ ๊ผญ ํด์ผ ํ๋์ง ํ์ธ ํ ๊ผญ ํด์ผ ํ๋ฉด if else๋ก ์๋๋ฉด else๋ก ์์ฑ
String ๋ฌธ์์ด ๋น๊ตํ๋ ๋ฐฉ๋ฒ
== ์ ๊ฒฝ์ฐ ๊ธฐ๋ณธํ์ (primitive) ํ์ ์ผ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ ์ ์์. ๋ฐ๋ผ์ String๋ผ๋ฆฌ ๋น๊ตํ ๋์๋ .equals ์ฌ์ฉ
equals๋ ๊ฒฐ๊ณผ๊ฐ์ true ํน์ false์ธ boolean์ผ๋ก ๋ฐํ → ๋ฐ๋ผ์ if๋ฌธ์ ์กฐ๊ฑด์ผ๋ก ์ฌ์ฉํ ์ ์์
'equals'์ '=='์ ์ฐจ์ด์
๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๋์ ๋ชจ๋ ์์ชฝ์ ์๋ ๊ฐ์ ๋น๊ตํ์ฌ boolean ํ์ ์ผ๋ก ๋ฐํํ๋ค๋ ๊ณตํต์ ์ด ์์
์ฐจ์ด์
equals๋ ๋ฉ์๋, ==๋ ๋น๊ต๋ฅผ ์ํ ์ฐ์ฐ์
equals๋ ๋ชจ๋ ๊ฐ์ฒด์ ๋ถ๋ชจ ํด๋์ค์ธ Object์ ์ ์๋์ด ์๋ ๋ฉ์๋๋ก ๋น๊ตํ๊ณ ์ ํ๋ ๋์์ ๋ด์ฉ ์์ฒด๋ฅผ ๋น๊ต
== ์ฐ์ฐ์๋ ๋น๊ตํ๊ณ ์ ํ๋ ๋์์ ์ฃผ์๊ฐ์ ๋น๊ต
โป ์ฃผ์๊ฐ : ๋์์ ๊ตฌ๋ณํ ์ ์๊ฒํ๋ ๊ฐ
์์ธํ ๋ด์ฉ์ https://kmj1107.tistory.com/207 ์ฐธ์กฐ
๐ ๋ค์คif~else๋ฌธ vs ๋จ์ if๋ฌธ
๋จ์ if๋ฌธ์ if์ ์๋ ์กฐ๊ฑด์ ๋ฌด์กฐ๊ฑด ํ์ธ
๋ค์คif~else๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด if๋ฌธ์ ๋น ์ ธ๋๊ฐ. ์กฐ๊ฑด์ ํ์ธ ํ ์กฐ๊ฑด์ด false์ธ ๊ฒฝ์ฐ์๋ง ๋ค์ ์กฐ๊ฑด์ ํ์ธ
if ~ else if๋ฌธ ์ฌ์ฉํ ๊ฒฝ์ฐ
if๋ฌธ ์ฌ์ฉํ ๊ฒฝ์ฐ
์ค์ฒฉ if-else๋ฌธ
if๋ฌธ์ด๋ if-else๋ฌธ, else ๋ฌธ์ '์คํ ๋ฌธ์ฅ'์ , if ๋ฌธ์ด๋ if-else ๋ฌธ์ ๋ดํฌํ ์ ์๋ค.
๐ switch๋ฌธ
๊ฐ์ ๋ฐ๋ผ ์ฌ๋ฌ ๋ฐฉํฅ์ผ๋ก ๋ถ๊ธฐํ๋ ๊ฒฝ์ฐ ์ฌ์ฉ(์ด๋๋ if๋ฌธ๋ณด๋ค ๊ฐ๋ ์ฑ์ด ์ข์)
'์'์ ๊ณ์ฐํ ํ ๊ทธ ๊ฒฐ๊ณผ ๊ฐ๊ณผ ์ผ์นํ๋ case๋ก ๋ถ๊ธฐ
์์๋ ํน์ ํ ๊ฐ ํน์ ์ฐ์ฐ์์ด ๋ค์ด๊ฐ ์ ์์
if๋ฌธ์์ ์กฐ๊ฑด์๋ ์ฐธ ๊ฑฐ์ง์ผ๋ก๋ง ๋์์ผ ํ๋ ๊ฒ๊ณผ ๋น๊ต๋จ
switch๋ case์ ํญ์ ํจ๊ป ์ฐ์
๊ฐ์๋ ์๊ณผ ๋น๊ตํ ์ค์ ๊ฐ
case ๋ฌธ์ ๊ฐ์ ์ ์ ๋ฆฌํฐ๋ด, ๋ฌธ์ ๋ฆฌํฐ๋ด, ๋ฌธ์์ด ๋ฆฌํฐ๋ด๋ง ํ์ฉ (๋ณ์๋ ์์ ์ฌ์ฉํ ์ ์์)
break : ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ์ ํ์ถํ๋ ํค์๋
switch๋ break๋ฅผ ๊ฑธ์ด์ฃผ์ง ์์ผ๋ฉด ๋๊ฐ์ง ์์ → ์๊ณผ ๊ฐ์ ์ฐ์ฐ๊ฒฐ๊ณผ๊ฐ ์ผ์นํ ๊ฒฝ์ฐ break๋ฌธ์ ๋ง๋ ๋๊น์ง ์คํ
default
if๋ฌธ์ else์ ๋น์ทํ ๊ธฐ๋ฅ. case๋ฅผ ์ ๋ถ ํ์ธํ๋๋ ๋ถ๋ง์กฑํ์ ๋ default๋ฅผ ์คํ
๊ฐ์ฅ ๋ง์ง๋ง์ ์ค๊ธฐ ๋๋ฌธ์ break๊ฐ ํ์ ์์
break๋ฅผ ์ฐ์ง ์์์ ๋
๋ง์ผ case ๋ฌธ์ break ๋ฌธ์ด ์๋ค๋ฉด break ๋ฌธ์ ๋ง๋ ๋๊น์ง ์๋์ case ๋ฌธ์ '์คํ ๋ฌธ์ฅ'์ผ๋ก ๊ณ์ ์คํํจ.
break๋ฅผ ๋ง๋์ง ์์ผ๋ฉด 20์ ์ถ๋ ฅํ ํ case๋ฅผ ํ์ธํ์ง ์๊ณ ๊ทธ๋ฅ ์คํ๋จ.
case๋ ๋น๊ตํ๋ ๊ตฌ๋ฌธ์ด ์๋๋ค.
(30๊ณผ ๋น๊ตํ์ง ์๊ณ ๋ฐ๋ก ์ถ๋ ฅ)
break๋ฅผ ํ์ฉํ์ฌ ์ฝ๋ ์ค์ด๊ธฐ
์๋ฐ15 ์ด์๋ถํฐ๋ case 1,2,12 ์ด๋ฐ์์ผ๋ก ์์ฑํ๋ ๊ฒ๋ ๊ฐ๋ฅํจ
โป ์กฐ๊ฑด์ด 2~3๊ฐ์ธ ๊ฒฝ์ฐ์๋ if๋ฅผ ์ฌ์ฉํ๊ณ , ์กฐ๊ฑด์ด ๊ทธ ์ด์์ธ ๊ฒฝ์ฐ switch๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค๊ณ ํจ.
โผ์ด๋ฅผ ํ์ธํ ์ ์๋ ์ฝ๋
quiz.
๋ด ํ์ด
chatGPT ํ์ด : switch case๋ฅผ ๊ฐ๊ฒฉ์ ๋ณ๋ํ๋๋ก ์ง์
๋ค๋ฅธ ์กฐ์์๋ case๋ฌธ์์ ์์ก ๋ณ๊ฒฝ
case 1 :
money -= 1800; ์ด๋ฐ์์ผ๋ก
'full stack > JAVA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JAVA] ์ฐ์ฐ์ (2023.03.22 ์์ ) (0) | 2023.03.24 |
---|---|
[JAVA] ๋ฐ๋ณต๋ฌธ while, do~while (2023.03.24) (0) | 2023.03.24 |
[JAVA] ๋ณ์์ ์ ์ถ๋ ฅ (1) | 2023.03.21 |
[JAVA] ์ฐ์ฐ - ์ฐ์ ์ฐ์ฐ (0) | 2023.03.21 |
[JAVA] ์๋ฐ ์์ (1) | 2023.03.18 |