๐ฉต Java์ ์ ์ด๋ฌธ์ด๋?
Java์์์ ์ ์ด๋ฌธ์ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ฐํ๊ฒ ์ ์ดํ ์ ์๊ฒ ํด ์ค๋๋ค.
๋ณต์กํ ์ฝ๋๋ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค๋ฉฐ, ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค.
Java์์ ์ ์ด๋ฌธ์ ํฌ๊ฒ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋๋์ด์ง๋๋ค.
์ด๋ค์ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ์ฝ๋๋ฅผ ์คํํ๊ฑฐ๋, ๋ฐ๋ณตํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ํ์ฉํ๋ฉด ๋ณต์กํ ์๊ณ ๋ฆฌ์ฆ๋ ๊ฐ๊ฒฐํ๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
์ ์ด๋ฌธ์ ์ข ๋ฅ์๋ 'if- else', 'siwtch' , 'for' , 'while', 'do-while'๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
1๏ธโฃ ์กฐ๊ฑด๋ฌธ (Conditional Statements)
1) if๋ฌธ, if- else๋ฌธ
'if ๋ฌธ' , 'if-else'๋ฌธ์ ์กฐ๊ฑด์ ์ฐธ ๋๋ ๊ฑฐ์ง์ ํ๋จํ์ฌ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค. ์กฐ๊ฑด์ ํ๋๋ง ํ๋ณํ๋ ๋๋ ๊ฒฝ์ฐ ๊ฐ์ฅ ๊ฐ๋จํ ํํ์ธ if๋ฌธ์ ํ์ฉํ๋ฉฐ, ๊ฑฐ์ง๊น์ง ํ๋ณํด์ผ ํ๋ ๊ฒฝ์ฐ๋ ์ถ๊ฐ๋ก 'else'๋ธ๋ก์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ํ, ๋ ๋ง์ ์กฐ๊ฑด์ ํ๋ณํด์ผ ํ ๊ฒฝ์ฐ๋ 'else-if'๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
case 1
if(a > b) {
System.out.println("a๊ฐ ํฝ๋๋ค!");
}
//a๊ฐ b๋ณด๋ค ํฐ ๊ฒฝ์ฐ๋ง ํ๋ณ. ์กฐ๊ฑด์ด ์ฐธ์ผ ๋๋ง ์ถ๋ ฅ๋๋ค.
case 2
if (a > b) {
System.out.println("a๊ฐ ๋ ํฝ๋๋ค!");
} else {
System.out.println("b๊ฐ ๋ ํฝ๋๋ค!");
}
// ์ด์ ์ฝ๋๋ a๊ฐ ๋ ํด๋๋ง ์ถ๋ ฅ๋์ผ๋, ์ด๋ b๊ฐ ๋ ํด๋๋ ์ถ๋ ฅํ๋ค.
case 3
if (score > 90) {
System.out.println("์ฑ์ ์ A์
๋๋ค.");
} else if (score > 80) {
System.out.println("์ฑ์ ์ B์
๋๋ค.");
} else {
System.out.println("์ฑ์ ์ C์
๋๋ค.");
}
// 3๊ฐ์ง ์กฐ๊ฑด์ ๋ชจ๋ ํ๋ณํ ์ ์๋ค. ๋ ์ฌ๋ฌ ๊ฐ๋ ๊ฐ๋ฅ.
2) switch๋ฌธ
'switch' ๋ฌธ์ ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ ๋ค์์ ์ฝ๋ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์คํํฉ๋๋ค. 'switch' ๋ฌธ์ ์ฃผ์ด์ง ์กฐ๊ฑด๊ณผ ์ผ์นํ๋ 'case' ๋ผ๋ฒจ์ ๋ธ๋ก์ ์คํํฉ๋๋ค. ์กฐ๊ฑด์ด ๋ง์ ๊ฒฝ์ฐ 'if-else' ๋ณด๋ค switch๊ฐ ์ฝ๋๋ฅผ ์กฐ๊ธ ๋ ๊ฐ๊ฒฐํ๊ฒ ๋ง๋ค๊ธฐ๋ ํฉ๋๋ค.
int num1 = 1;
int num2 = 3;
char op = '+';
switch (op) {
case '+':
// op๊ฐ '+'์ ์ผ์นํ ๋ ์คํ๋๋ ์ฝ๋
System.out.println("๊ฒฐ๊ณผ๋" + (num1+num2) + "์
๋๋ค!");
break;
case '-':
// op๊ฐ '-'์ ์ผ์นํ ๋ ์คํ๋๋ ์ฝ๋
System.out.println("๊ฒฐ๊ณผ๋" + (num1-num2) + "์
๋๋ค!");
break;
default:
// ์ด๋ค case์๋ ํด๋นํ์ง ์์ ๋ ์คํํ ์ฝ๋
System.out.println("์ด ๊ณ์ฐ๊ธฐ๋ ๋ง์
๊ณผ ๋บผ์
๋ง ์ง์ํฉ๋๋ค!");
break;
}
switch ๋ฌธ์ ํน์ ๋ณ์์ ๊ฐ์ ๋ฐ๋ผ ์ฌ๋ฌ ๊ฐ๋ฅ์ฑ ์ค ํ๋๋ฅผ ์ ํํด์ผ ํ ๋ ์ ์ฉํฉ๋๋ค. break ๋ฌธ์ ์ฌ์ฉํด ๊ฐ case ๋ธ๋ก ํ ์คํ์ ์ข ๋ฃํ๋ฉฐ, default ๋ธ๋ก์ ์ด๋ค case๋ ์ผ์นํ์ง ์์ ๋ ์คํ๋ฉ๋๋ค.
โ ๏ธ ๋ง์ฝ, break๋ฌธ์ ๊ฑธ์ง ์์ผ๋ฉด ํด๋นํ๋ case๋ฌธ ์๋์ ์ฝ๋๋ ์ ๋ถ ์คํ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด break๊ฐ ์๋ ๊ฒฝ์ฐ, '+' ๊ฒฐ๊ณผ์ , '-' ๊ฒฐ๊ณผ, default๊ฒฐ๊ณผ๊น์ง ๋ชจ๋ ์ถ๋ ฅ๋๊ณ ์ข ๋ฃ๋ฉ๋๋ค.
2๏ธโฃ ๋ฐ๋ณต๋ฌธ (Loop Statements)
1) for๋ฌธ
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐ๋ณต๋ฌธ ํํ๋ก, ์ด๊ธฐํ, ์กฐ๊ฑด ๊ฒ์ฌ, ์ฆ๊ฐ์ ์ธ ๋ถ๋ถ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. '1๋ถํฐ 10๊น์ง ๋ฐ๋ณต'์ด ํ์ํ ๋ ๋ํ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
for๋ฌธ๊ณผ for-each๋ฌธ์ด ์์ต๋๋ค.
case 1
for(int i=0; i<5; i++) {
System.out.print(i + " ");
}
print >>
0 1 2 3 4
// ์ด ์ฝ๋์ ์๋ฏธ๋ '0๋ถํฐ 4๊น์ง ์ฐ์ด' ์
๋๋ค.
// i๋ 0๋ถํฐ, i๊ฐ 5๋ณด๋ค ์์๋๊น์ง(= 5๊ฐ๋๋ฉด ์คํ x) ๋ฐ๋ณตํ ๋๋ง๋ค i์ +1์ ํด์ฃผ๋ผ๋ ์๋ฏธ๊ฐ ๋ฉ๋๋ค.
case2
int[] numbers = {1,2,3,4,5};
for(int i : numbers) {
System.out.println(i);
}
print >>
1 2 3 4 5
//์ด ์ฝ๋์ ์๋ฏธ๋ numbers์์ ์๋ ์์ด๋ค์ ํ๋์ฉ ๊บผ๋ด์ i์ ๋ด๊ณ ,
//i๋ฅผ ์ถ๋ ฅํด๋ฌ๋ผ๋ ์๋ฏธ์
๋๋ค.
์ด for-each๋ฌธ์ ๋ฐฐ์ด์ด๋ ๋ฆฌ์คํธ์ ์์๋ฅผ ์ถ๋ ฅํ ๋ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ์์ง ๋ฐฐ์ด์ ๋ฐฐ์ฐ์ง ์์์ง๋ง, ์ฌ๊ธฐ์์ numbers๋ int ๊ฐ๋ค์ด ์ฐจ๋ก์ฐจ๋ก ๋ชจ์ฌ์๋ ์์ด๋ผ๊ณ ์๊ฐํ๊ณ ๋์ด๊ฐ์ฃผ์๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
2) While๋ฌธ
์กฐ๊ฑด์ด ์ฐธ์ผ ๋์์๋ง ์ฃผ์ด์ง ์ฝ๋๋ฅผ ๊ณ์ ๋ฐ๋ณต ์คํํฉ๋๋ค. for๋ฌธ๊ณผ ๋ชฉ์ ์ ๋์ผํฉ๋๋ค. while ๋ฌธ๊ณผ do-while๋ฌธ์ด ์์ต๋๋ค. while๋ฌธ๊ณผ do-while๋ฌธ์ ์ฐจ์ด๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
while๋ฌธ์ ์กฐ๊ฑด์ด ์ฐธ์ด ์๋๋ฉด ์ฃผ์ด์ง ์ฝ๋๊ฐ ์ ๋ ์คํ๋์ง ์์ต๋๋ค. ๋ฐ๋ฉด์ do-while๋ฌธ์ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด๋ผ๋ ์ต์ ํ ๋ฒ์ ์ฝ๋๋ฅผ ์คํํฉ๋๋ค. ์ด๋ ์ฝ๋์ ํน์ฑ์ธ ์์์ ์๋ ์์ผ๋ก ์คํ๋๋ค๋ ์ ์ ์ดํดํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
case 1
int a = 0;
while(a < 5) {
System.out.print(a++ + " ");
}
print >>
0 1 2 3 4
//a๊ฐ 5๊ฐ ๋๋์๊ฐ ๋ฐ๋ณต์ด ์ข
๋ฃ๋ฉ๋๋ค.
case 2
boolean bl = false;
do {
System.out.println("์ ๋ ๊ฑฐ์ง์ธ๋ฐ๋ ์คํ์ด ๋ ๊น์?");
} while(bl);
print >>
์ ๋ ๊ฑฐ์ง์ธ๋ฐ๋ ์คํ์ด ๋ ๊น์?
// do-while๋ฌธ์ ๋ณด์๋ ๋ฐ์ ๊ฐ์ด, while์์ ์กฐ๊ฑด์ด false์์๋ ๋ถ๊ตฌํ๊ณ do-while๋ฌธ์ด๊ธฐ์
// ์ฝ๋๊ฐ ํ๋ฒ์ ์คํ๋๊ณ ๋ฐ๋ณต์ด ์ข
๋ฃ๋ฉ๋๋ค.
์ด๋ฌํ ์ ์ด๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ Java ํ๋ก๊ทธ๋ก๋ฐ์์ ๋งค์ฐ ์ค์ํ ์์์ ๋๋ค.
ํ ๋ฒ์ฉ ์คํํด ๋ณด๋ฉด์ ์ด๋ ๊ฒ ์ฐ์ด๋๊ตฌ๋๋ฅผ ๊ผญ ์ตํ์ฃผ์ธ์!
๋ค์ ํฌ์คํ ์์๋ String ๊ธฐ์ด๋ก ์ฐพ์๋ต๊ฒ ์ต๋๋ค
์ง๋ฌธ ๋๋ ๋๊ธ์ ์ธ์ ๋ ์ง ํ์ํฉ๋๋ค!
๐ฉต๐ฐ๐ฉต
'โJava' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Java ์ดํดํ๊ธฐ] 9. ์๋ฐ์ String(๋ฌธ์์ด) ๊ธฐ์ด (2) (2) | 2024.05.12 |
---|---|
[Java ์ดํดํ๊ธฐ] 8. ์๋ฐ์ String(๋ฌธ์์ด) ๊ธฐ์ด (1) (2) | 2024.05.12 |
[Java ์ดํดํ๊ธฐ] 6. ์๋ฐ์ ํจ์(๋ฉ์๋)๋? (2) (2) | 2024.05.04 |
[Java ์ดํดํ๊ธฐ] 5. ์๋ฐ์ ํจ์(๋ฉ์๋)๋? (1) (2) | 2024.05.04 |
[Java ์ดํดํ๊ธฐ] 4. ์๋ฐ์ ์ฐ์ฐ์ (2) | 2024.04.26 |