1. ๊ฐ๊ด์ ์ฐ์ฐ์:switch
Java์๋ ํ ์๋ฒ์ง(C++)์์ ๋ฌผ๋ ค๋ฐ์ ๋ ๋ค๋ฅธ ํฅ๋ฏธ๋ก์ด ์ฐ์ฐ์๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ง์ ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค switch
. ๋ค์ค ์ ํ ์ฐ์ฐ์๋ผ๊ณ ๋ถ๋ฅผ ์๋ ์์ต๋๋ค. ์กฐ๊ธ ๋ฒ๊ฑฐ๋ก์ ๋ณด์
๋๋ค.
switch(expression)
{
case value1: code1;
case value2: code2;
case value3: code3;
}
ํํ์ ๋๋ ๋ณ์๋ ๊ดํธ ์์ ํ์๋ฉ๋๋ค. ํํ์์ ๊ฐ์ด ์ด๋ฉด value1
Java ์์คํ
์ด ์คํ์ ์์ํฉ๋๋ค code1
. ํํ์์ด ์ ๊ฐ์ผ๋ฉด value2
์คํ์ด ๋ก ์ด๋ํฉ๋๋ค code2
. ํํ์์ด ์ ๊ฐ์ผ๋ฉด ์คํ value3
๋ฉ๋๋ค code3
.
์:
์ํธ | ์ฝ์ ์ถ๋ ฅ |
---|---|
|
|
2. break
์ง์ switch
๋ช
๋ น๋ฌธ ์ ์ค์ํ ๊ธฐ๋ฅ switch
์ ํ๋ก๊ทธ๋จ์ด ๋จ์ํ ํ์ํ ๋ผ์ธ(ํ์ ์ฝ๋ ๋ธ๋ก)์ผ๋ก ์ด๋ํ ๋ค์ switch
. ์ ๊ฐ์ ํด๋นํ๋ ์ฝ๋ ๋ธ๋ก๋ฟ๋ง switch
์๋๋ผ ์ ๋๊น์ง ๋ชจ๋ ์ฝ๋ ๋ธ๋ก์ด switch
.
์:
์ํธ | ์ฝ์ ์ถ๋ ฅ |
---|---|
|
|
36์ ์จ๋๊ฐ ์ฃผ์ด์ง๋ฉด ํ๋ก๊ทธ๋จ์ ๋ช
๋ น๋ฌธ์ ์
๋ ฅํ๊ณ switch
์ฒซ ๋ฒ์งธ ์ฝ๋ ๋ธ๋ก(์ฒซ ๋ฒ์งธ ๊ฒฝ์ฐ)์ผ๋ก ์ด๋ํ์ฌ ์คํํ ๋ค์ ๋๋จธ์ง ์ฝ๋ ๋ธ๋ก์ ์ ์พํ๊ฒ ์คํํฉ๋๋ค.
ํ๋์ ์ฝ๋ ๋ธ๋ก (์ผ์นํ๋ ๊ฒฝ์ฐ์ ๊ด๋ จ๋ ์ฝ๋ ๋ธ๋ก) ๋ง ์คํํ๋ ค๋ฉด break
๋ช
๋ น๋ฌธ์ผ๋ก ๋ธ๋ก์ ์ข
๋ฃํด์ผ ํฉ๋๋ค.
์:
์ํธ | ์ฝ์ ์ถ๋ ฅ |
---|---|
|
|
ํด๋น ๋ธ๋ก์ด break ๋ฌธ์ด ์๊ฑฐ๋ ์๋ ๋ง์ง๋ง ๋ธ๋ก์ด๋ฏ๋ก ๋ช
๋ น๋ฌธ break
์ ๋ง์ง๋ง ๊ฒฝ์ฐ์ the๋ฅผ ์๋ตํ ์ ์์ต๋๋ค .switch
3. ๊ธฐ๋ณธ ์กฐ์น:default
๋ ๋ค๋ฅธ ์ค์ํ ์ . switch
๊ดํธ ์์ ํํ์๊ณผ ์ผ์น ํ๋ ์ฌ๋ก๊ฐ ์์ผ๋ฉด ์ด๋ป๊ฒ ๋ฉ๋๊น ?
์ผ์นํ๋ ์ผ์ด์ค๊ฐ ์์ผ๋ฉด switch
๋ช
๋ น๋ฌธ์ ๋๋จธ์ง ๋ถ๋ถ์ ๊ฑด๋๋ฐ๊ณ ํ๋ก๊ทธ๋จ์ ๋ช
๋ น๋ฌธ์ ๋๋ด๋ ์ค๊ดํธ ๋ค์์ ์คํ์ ๊ณ์ํฉ๋๋ค switch
.
์ฆ, switch
๋ช
๋ น๋ฌธ์ด ๋ช
๋ น๋ฌธ์ else ๋ถ๊ธฐ์ฒ๋ผ ์๋ ํ๋๋ก ํ ์๋ ์์ต๋๋ค if-else
. ์ด๋ ๊ฒ ํ๋ ค๋ฉด default
ํค์๋๋ฅผ ์ฌ์ฉํ์ญ์์ค.
case
๋ธ๋ก ์ s ์ค ์ด๋ ๊ฒ๋ switch
ํํ์์ ๊ฐ๊ณผ ์ผ์นํ์ง ์๊ณ ์ ๋ธ๋ก์ด switch
์์ผ๋ฉด default
๊ธฐ๋ณธ ๋ธ๋ก์ด ์คํ๋ฉ๋๋ค. ์:
์ํธ | ์ฝ์ ์ถ๋ ฅ |
---|---|
|
|
4. ๋น๊ต switch
๋ฐif-else
๋ฌธ switch
์ ๋ฌธ๊ณผ ๋ค์ ๋น์ทํ์ง๋ง if-else
๋ ๋ณต์กํฉ๋๋ค.
๋ฌธ์ ์ฝ๋๋ ํญ์ switch
์ฌ๋ฌ if
๋ฌธ์ผ๋ก ๋ค์ ์์ฑํ ์ ์์ต๋๋ค. ์:
์ค์์น๊ฐ ์๋ ์ฝ๋ | if-else๋ฅผ ์ฌ์ฉํ ์ฝ๋ |
---|---|
|
|
์ผ์ชฝ์ ์ฝ๋๋ ์ค๋ฅธ์ชฝ์ ์ฝ๋์ ์ ํํ ๋์ผํ๊ฒ ์๋ํฉ๋๋ค.
๋ช
๋ น๋ฌธ์ด ๊ฐ๊ฐ์ ๊ฒฝ์ฐ์ ๋ค์ํ ๋ณตํฉ ํํ์์ ํฌํจํ๋ ๊ฒฝ์ฐ ์ฌ๋ฌ ๋ช
๋ น๋ฌธ ์ฒด์ธ์ด if-else
๋ฐ๋์งํฉ๋๋ค .if
5. ๋ฌธ์ฅ์๋ ์ด๋ค ํํ์ ์ฌ์ฉํ ์ ์๋์ switch
?
case
๋ชจ๋ ์ ํ์ ๋ช
๋ น๋ฌธ ์ ๋ ์ด๋ธ ๋ก ์ฌ์ฉํ ์ ์๋ ๊ฒ์ ์๋๋๋ค switch
. ๋ค์ ์ ํ์ ๋ฆฌํฐ๋ด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ ์ ์ ํ:
byte
,short
,int
,long
char
String
- ๋ชจ๋
enum
์ ํ
๋ค๋ฅธ ์ ํ์ ์ผ์ด์ค ๋ ์ด๋ธ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค .
enum
๋ด๋ถ ๋ฌธ์ ์ฌ์ฉํ๋ ์ switch
:
Day day = Day.MONDAY;
switch (day)
{
case MONDAY:
System.out.println("Monday");
break;
case TUESDAY:
System.out.println("Tuesday");
break;
case WEDNESDAY:
System.out.println("Wednesday");
break;
case THURSDAY:
System.out.println("Thursday");
break;
case FRIDAY:
System.out.println("Friday");
break;
case SATURDAY:
System.out.println("Saturday");
break;
case SUNDAY:
System.out.println("Sunday");
break;
}
enum
์ฐธ๊ณ : inside a ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๋ ์ด๋ธ switch
์ ๊ฐ ๊ฐ ์์ ํด๋์ค ์ด๋ฆ์ ์ธ ํ์๊ฐ ์์ต๋๋ค case
. ๊ทธ๋ฅ ๊ฐ์ ์ฐ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํฉ๋๋ค.
GO TO FULL VERSION