์ ์ด๋ฌธ(control statement)
- ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฌธ์ฅ์ ๊ฑด๋๋ฐ๊ฑฐ๋ ๊ฐ์ ๋ฌธ์ฅ์ ๋ฐ๋ณต ์ํํด์ผํ๋ ๋ฑ์ ํ์์ฑ์ ์ํด ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ๋ฐ๊พธ๋ ์ญํ ์ ํ๋ ๋ฌธ์ฅ
- ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ด ํด๋น๋จ
์ ํ๋ฌธ
์กฐ๊ฑด๋ฌธ
์กฐ๊ฑด์์ ์ฐ์ฐ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ์คํํ ๋ฌธ์ฅ์ด ๋ฌ๋ผ์ ธ ํ๋ก๊ทธ๋จ์ ์คํ ํ๋ฆ์ ๋ณ๊ฒฝํ ์ ์์
- if๋ฌธ
if(์กฐ๊ฑด์) {
// ์กฐ๊ฑด์์ด true์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
์กฐ๊ฑด์์ ๊ฒฐ๊ณผ๋ ํญ์ bool ํ์ ์ด์ด์ผ ํจ
๋ธ๋ญ
- ๊ดํธ {}๋ก ์ฌ๋ฌ ๋ฌธ์ฅ์ ํ๋์ ๋จ์๋ก ๋ฌถ์ ๊ฒ
- ๋ฌธ์ฅ์ด ํ ์ค ๋ฟ์ด๋ฉด ๊ดํธ ์๋ต ๊ฐ๋ฅํ์ง๋ง ๊ดํธ ์ฌ์ฉํ๋ ๊ฒ์ ๊ถ์ฅ
- if-else๋ฌธ
if(์กฐ๊ฑด์) {
// ์กฐ๊ฑด์์ด true์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
} else {
// ์กฐ๊ฑด์์ด false์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
if์ else ๋ ๋ธ๋ญ ์ค ๋ฐ๋์ ํ ๋ธ๋ญ์ ๋ด์ฉ๋ง ์ํ๋๋ฏ๋ก, ๋ ๋ธ๋ญ์ ๋ด์ฉ์ด ๋ชจ๋ ์ํ๋๊ฑฐ๋ ๋ชจ๋ ์ํ๋์ง ์๋ ๊ฒฝ์ฐ๋ ์๋ค.
- if-else if๋ฌธ
์ฒ๋ฆฌํด์ผ ํ ๊ฒฝ์ฐ์ ์๊ฐ ์ ์ด์์ผ ๋, ํ ๋ฌธ์ฅ์ ์ฌ๋ฌ ์กฐ๊ฑด์์ ์ฐ๊ธฐ ์ํด else if ๋ฌธ์ ์ฌ์ฉํ๋ค.
if(์กฐ๊ฑด์1) {
// ์กฐ๊ฑด์1์ด true์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค, ๋ฌธ์ฅ๋ค ์ํ ํ if-else if๋ฌธ ์ ์ฒด ์ข
๋ฃ
} else if(์กฐ๊ฑด์2) {
// ์กฐ๊ฑด์2๊ฐ true์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค, ๋ฌธ์ฅ๋ค ์ํ ํ if-else if๋ฌธ ์ ์ฒด ์ข
๋ฃ
} else if(์กฐ๊ฑด์3) {
// ์กฐ๊ฑด์3์ด true์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค, ๋ฌธ์ฅ๋ค ์ํ ํ if-else if๋ฌธ ์ ์ฒด ์ข
๋ฃ
} else {
// ์์ ๋ชจ๋ ์กฐ๊ฑด์์ด false์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
- ์ค์ฒฉ if๋ฌธ
if ๋ฌธ ๋ด๋ถ์ ๊ณ์ํด์ if๋ฌธ์ ์ถ๊ฐํ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ์ค์ฒฉ if๋ฌธ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
if(์กฐ๊ฑด์1) {
// ์กฐ๊ฑด์์ด true์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
if(์กฐ๊ฑด์2) {
// ์กฐ๊ฑด์1, ์กฐ๊ฑด์2๊ฐ ๋ชจ๋ true์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
} else {
// ์กฐ๊ฑด์1์ด false์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
์ ํ๋ฌธ
- switch๋ฌธ
switch (์กฐ๊ฑด์) {
case ๊ฐ1:
// ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ1๊ณผ ๋์ผํ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
// break ์ ์ธ ์ switch๋ฌธ ๋ฒ์ด๋ ์ ์์
case ๊ฐ2:
// ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ2๊ณผ ๋์ผํ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
// break ์ ์ธ ์ switch๋ฌธ ๋ฒ์ด๋ ์ ์์
//...
default:
// ์กฐ๊ฑด์ ๊ฒฐ๊ณผ์ ๋์ผํ case๋ฌธ์ด ์์ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
- ๋จ ํ๋์ ์กฐ๊ฑด์์ผ๋ก ๋ง์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค
- ๋์ ํ๋ฆ
- 1) (์กฐ๊ฑด์) ๊ณ์ฐ
- 2) ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ์ผ์นํ๋ case๋ฌธ์ผ๋ก ์ด๋
- 3) case๋ฌธ์ ์๋์ ๋ฌธ์ฅ๋ค ์ํ
- 4) break ๋๋ switch๋ฌธ์ ๋์ ๋ง๋๋ฉด switch๋ฌธ ์ข ๋ฃ
- default๋ฌธ: ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ ์ ์ผ์นํ๋ case๋ฌธ์ด ์์ ๊ฒฝ์ฐ ์ํ๋๋ ๋ถ๋ถ
- ์ฃผ์ํ ์
- case๋ฌธ ๋์ break๊ฐ ์์ ๊ฒฝ์ฐ ํ์์ ์๋ ๋ชจ๋ case๋ฌธ ๋ฌธ์ฅ๋ค์ด ์คํ๋๋ฏ๋ก, ์กฐ๊ฑด์ ๋ง๋ case๋ฌธ๋ง ์คํ์ํค๋ ค๋ฉด break๋ฌธ์ ์์ง ๋ง์์ผ ํ๋ค!
- switch๋ฌธ์ ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๋ ์ ์ ํน์ ๋ฌธ์์ด์ด์ด์ผ ํ๋ค.
- case๋ฌธ์ ๊ฐ์ ์ ์/๋ฌธ์์ด/๋ฌธ์ ์์๋ง ๊ฐ๋ฅํ๋ฉฐ ์ค๋ณต๋ ์ ์๋ค.
- ์ค์ฒฉ switch๋ฌธ
switch (์กฐ๊ฑด์) {
case ๊ฐ1:
switch(์กฐ๊ฑด์2) {
case ๊ฐ2:
//์กฐ๊ฑด์1 ๊ฒฐ๊ณผ๊ฐ ๊ฐ1์ด๊ณ ์กฐ๊ฑด์2 ๊ฒฐ๊ณผ๊ฐ ๊ฐ2์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
case ๊ฐ3:
//์กฐ๊ฑด์1 ๊ฒฐ๊ณผ๊ฐ ๊ฐ1์ด๊ณ ์กฐ๊ฑด์2 ๊ฒฐ๊ณผ๊ฐ ๊ฐ3์ผ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
break;
case ๊ฐ4:
// ์กฐ๊ฑด์ ๊ฒฐ๊ณผ๊ฐ ๊ฐ4๊ณผ ๋์ผํ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
break;
//...
default:
// ์กฐ๊ฑด์ ๊ฒฐ๊ณผ์ ๋์ผํ case๋ฌธ์ด ์์ ๋ ์ํ๋ ๋ฌธ์ฅ๋ค
}
๋ฐ๋ณต๋ฌธ
for๋ฌธ
for (์ด๊ธฐํ;์กฐ๊ฑด์;์ฆ๊ฐ์) {
//์กฐ๊ฑด์์ด true์ผ ๋ ์ํํ ๋ฌธ์ฅ๋ค
}
- ๋์ ํ๋ฆ
- 1) ์ด๊ธฐํ ์ํ
- 2) ์กฐ๊ฑด์์ด ์ฐธ์ด๋ผ๋ฉด
- 3) ์ํ๋ ๋ฌธ์ฅ ์ํ ํ ์ฆ๊ฐ์ ์ํ
- 4) 2)~3) ๋ฐ๋ณต
- ์ด๊ธฐํ
- ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉ๋ ๋ณ์ ์ด๊ธฐํ
- ๋ ์ด์์ ๋ณ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ๊ณ , ๋ณ์๋ค์ ํ์ ์ ๋์ผํด์ผ ํ๋ค. ','๋ฅผ ๊ตฌ๋ถ์๋ก ์ด๊ธฐํํ๋ค ex) int i=0, j=0
- ์กฐ๊ฑด์
- for๋ฌธ์ ์ธ์ ๊น์ง ์คํํ ์ง์ ๋ํ ์กฐ๊ฑด
- true/ false๋ฅผ ๋ฐํํด์ผ ํ๋ค.
- ์ฆ๊ฐ์
- ๋ฐ๋ณต๋ฌธ ์ ์ดํ๋ ๋ณ์์ ๊ฐ์ ์ฆ๊ฐ์ํค๋ ์
- ๋ณ์์ ๊ฐ์ ์กฐ๊ฑด์์ด ๊ฑฐ์ง์ด ๋์ด for๋ฌธ์ด ์ข ๋ฃ๋๋๋ก ๋ณํด์ผ ํ๋ค.
- ๋ฌดํ๋ฐ๋ณตํ๊ธฐ
- for(;;) { .. } ์ฒ๋ผ ์๋ฌด๋ฐ ์์ ๋ช ์ํ์ง ์์ผ๋ฉด ๋ฌดํ ๋ฐ๋ณต๋ฌธ์ด ๋๋ค.
for each๋ฌธ
for (type name : collection) {
//๋ฐ๋ณตํ ๋ฌธ์ฅ
}
๋ฐฐ์ด ํน์ ์ปฌ๋ ์ ์ ๋ชจ๋ ์์๋ค์ ์ํํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ค.
๊ธฐ์กด for๋ฌธ์ผ๋ก ๋ฐฐ์ด/ ์ปฌ๋ ์ ์ ๊ทผ ์ index๋ก ์ ๊ทผ (ex. arr[i]) ํ์๋ ๊ฒ์ ์ข ๋ ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์๋ค.
while๋ฌธ
์กฐ๊ฑด์์ด true์ธ ๋์ ๋ธ๋ญ ๋ด์ ๋ฌธ์ฅ ๋ฐ๋ณตํ๊ณ , false๊ฐ ๋๋ฉด ์ข ๋ฃ
while (์กฐ๊ฑด์) {
// ์กฐ๊ฑด์์ด true์ธ ๋์ ๋ฐ๋ณตํ ๋ฌธ์ฅ
}
do-while๋ฌธ
while๋ฌธ์ ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ธ๋ญ์ด ํ ๋ฒ๋ ์ํ๋์ง ์์ ์ ์์ง๋ง, do-while๋ฌธ์ ์ต์ ํ ๋ฒ ์ํํ ๊ฒ์ ๋ณด์ฅํ๋ค.
do {
// ์กฐ๊ฑด์์ด true์ธ ๋์ ๋ฐ๋ณตํ ๋ฌธ์ฅ
} while (์กฐ๊ฑด์);
break๋ฌธ
์์ ์ด ํฌํจ๋ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ด๋๋ค.
์ฃผ๋ก if๋ฌธ๊ณผ ํจ๊ป ์ฌ์ฉํด ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ด๋๋๋ก ํ๋ค.
continue๋ฌธ
๋ฐ๋ณต๋ฌธ ๋ด์์๋ง ์ฌ์ฉํ๋ค.
๋ฐ๋ณต์ด ์งํ๋๋ ์ค continue๋ฌธ์ ๋ง๋๋ฉด continue ์ดํ์ ๋ฐ๋ณต ๋ฌธ์ฅ๋ค์ ๋ฌด์ํ๊ณ ๋ค์ ๋ฐ๋ณต์ผ๋ก ๋์ด๊ฐ๋ค.
์ด๋ฆ ๋ถ์ ๋ฐ๋ณต๋ฌธ
์ฌ๋ฌ ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ด ์ค์ฒฉ๋ ๊ฒฝ์ฐ break๋ฌธ์ผ๋ก ๋ชจ๋ ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ด๋ ์ ์๋ค.
์ด ๋ break/continue๋ฌธ์ ์ด๋ฆ์ ์ง์ ํด ํ๋ ์ด์์ ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ด๋๊ฑฐ๋ ๋ฐ๋ณต์ ๊ฑด๋๋ธ ์ ์๋ค.
Loop1: for (int i=0;i<10;i++) {
//์กฐ๊ฑด์์ด true์ผ ๋ ์ํํ ๋ฌธ์ฅ๋ค
for (int j=0;j<10;j++) {
System.out.printf("i: %s, j: %s \n", i, j);
if (j==5) {
break Loop1;
}
}
}
'Java > ์๋ฐ์ ์ ์' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
3์ฃผ์ฐจ: ์ฐ์ฐ์ (0) | 2022.09.18 |
---|---|
2์ฃผ์ฐจ: ์๋ฐ ๋ฐ์ดํฐ ํ์ , ๋ณ์ ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด (0) | 2022.09.03 |
1์ฃผ์ฐจ: JVM์ ๋ฌด์์ด๋ฉฐ ์๋ฐ ์ฝ๋๋ ์ด๋ป๊ฒ ์คํํ๋ ๊ฒ์ธ๊ฐ. (0) | 2022.08.23 |
๋๊ธ