์กฐ๊ฑด๋ฌธ & ๋ฐ๋ณต๋ฌธ
- -
๐ ์กฐ๊ฑด๋ฌธ
โถ๏ธ ์กฐ๊ฑด๋ฌธ์ด๋?
โ ํน์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ค๋ฅธ ์ฝ๋๋ฅผ ์คํํ๋ ๊ฒ
โ ์กฐ๊ฑด๋ฌธ์๋ if๋ฌธ, switch๋ฌธ์ด ์๋ค.
โ if๋ฌธ - if ์ else
โ ํน์ ์กฐ๊ฑด์ด ์ฐธ(True)์ธ์ง ๊ฑฐ์ง(False)์ธ์ง ํ์ธํ๊ณ , ๊ทธ ์กฐ๊ฑด์ด ์ฐธ(True)์ผ ๊ฒฝ์ฐ ํน์ ์ฝ๋ ๋ธ๋ญ์ ์คํํ๋ค.
โ ์ฝ๋ ๋ธ๋ญ : ์ค๊ดํธ({ }) ์ฌ์ด์ ์๋ ์ฝ๋
โ else๋ฌธ : if๋ฌธ์์ ๋ง์กฑํ๋ ์กฐ๊ฑด์ด ์๋ ๊ฒฝ์ฐ์ ์คํํ๋ค.
if (condition) {
// ์กฐ๊ฑด์ด ์ฐธ(True)์ผ ๋ ์คํ๋๋ ์ฝ๋
} else {
// ๋ง์กฑํ๋ ์กฐ๊ฑด์ด ์์ ๋ ์คํ๋๋ ์ฝ๋
}
โก else if๋ฌธ - ์ฐ๊ด๋ ์กฐ๊ฑด
โ ์๋ก ์ฐ๊ด๋ ์กฐ๊ฑด๋ค์ ๋น๊ตํ ๋๋ else if๋ฌธ์ ์ฌ์ฉํ๋ค.
โ ์ด๋ฏธ ์กฐ๊ฑด์ ๋ง์กฑํจ์๋ ๋ถํ์ํ ๋ค์ ์กฐ๊ฑด์ ๊ณ์ ๊ฒ์ฌํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ณ ์ฝ๋์ ํจ์จ์ฑ ์ฆ๊ฐ
int age = 14;
if(age <= 7) { //~7: ๋ฏธ์ทจํ
System.out.println("๋ฏธ์ทจํ");
}
if(age >= 8 && age <= 13) { //8~13: ์ด๋ฑํ์
System.out.println("์ด๋ฑํ์"); }
if(age >= 14 && age <= 16) { //14~16: ์คํ์
System.out.println("์คํ์");
}
if(age >= 17 && age <= 19) { //17~19: ๊ณ ๋ฑํ์
System.out.println("๊ณ ๋ฑํ์"); }
if(age >= 20) { //20~: ์ฑ์ธ
System.out.println("์ฑ์ธ");
}
int age = 14;
if(age <= 7) { //~7: ๋ฏธ์ทจํ
System.out.println("๋ฏธ์ทจํ");
} else if(age <= 13) { //8~13: ์ด๋ฑํ์
System.out.println("์ด๋ฑํ์");
} else if(age <= 16) { //14~16: ์คํ์
System.out.println("์คํ์");
} else if(age <= 19) { //17~19: ๊ณ ๋ฑํ์
System.out.println("๊ณ ๋ฑํ์");
} else { //20~: ์ฑ์ธ
System.out.println("์ฑ์ธ");
}
โถ๏ธ switch๋ฌธ
โ if๋ฌธ์ ์กฐ๊ธ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๋ ๊ธฐ๋ฅ
โ if๋ฌธ์ ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, switch๋ฌธ์ ๊ทธ์ ๊ฐ์ด ๊ฐ์์ง์ ๋ํด์๋ง ๋น๊ต ๊ฐ๋ฅํ๋ค.
โ switch๋ฌธ
โ ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ ๊ฐ์ด ์ด๋ค case ์ ๊ฐ๊ณผ ์ผ์นํ๋ฉด ํด๋น case์ ์ฝ๋๋ฅผ ์คํ
โ ๋ง์ฝ break ๋ฌธ์ด ์์ผ๋ฉด, ์ผ์นํ๋ case ์ดํ์ ๋ชจ๋ case ์ฝ๋๋ค์ด ์์๋๋ก ์คํ
switch (์กฐ๊ฑด์) {
case value1:
// ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ ๊ฐ์ด value1์ผ ๋ ์คํ๋๋ ์ฝ๋
break;
case value2:
// ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ ๊ฐ์ด value2์ผ ๋ ์คํ๋๋ ์ฝ๋
break;
default:
// ์กฐ๊ฑด์์ ๊ฒฐ๊ณผ ๊ฐ์ด ์์ ์ด๋ค ๊ฐ์๋ ํด๋นํ์ง ์์ ๋ ์คํ๋๋ ์ฝ๋
}
//grade 1:1000, 2:3000(๋ณ๊ฒฝ), 3:3000, ๋๋จธ์ง: 500
int grade = 2;
int coupon;
switch (grade) {
case 1:
coupon = 1000;
break;
case 2:
case 3:
coupon = 3000;
break;
default:
coupon = 500;
break;
}
System.out.println("๋ฐ๊ธ๋ฐ์ ์ฟ ํฐ " + coupon);
โก switch๋ฌธ - Java14
//grade 1:1000, 2:2000, 3:3000, ๋๋จธ์ง: 500
int grade = 2;
int coupon = switch (grade) {
case 1 -> 1000;
case 2 -> 2000;
case 3 -> 3000;
default -> 500;
};
System.out.println("๋ฐ๊ธ๋ฐ์ ์ฟ ํฐ " + coupon);
โถ๏ธ ์ผํญ ์ฐ์ฐ์
โ ์ผํญ ์ฐ์ฐ์๋ ํญ์ด 3๊ฐ๋ผ๋ ๋ป์ด๋ค : ์กฐ๊ฑด , ์ฐธ-ํํ์ , ๊ฑฐ์ง-ํํ์
โ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด ์ฐธ-ํํ์์ด ์คํ๋๊ณ , ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์์ผ๋ฉด ๊ฑฐ์ง-ํํ์์ด ์คํ
int age = 18;
String status;
// if๋ฌธ ์ฌ์ฉ ์์
if (age >= 18) {
status = "์ฑ์ธ";
} else {
status = "๋ฏธ์ฑ๋
์";
}
System.out.println("age = " + age + " status = " + status);
// ์ผํญ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด if๋ฌธ์ ๊ฐ๊ฒฐํ๊ฒ ํํ
int age = 18;
String status = (age >= 18) ? "์ฑ์ธ" : "๋ฏธ์ฑ๋
์";
System.out.println("age = " + age + " status = " + status);
๐ ๋ฐ๋ณต๋ฌธ
โถ๏ธ while๋ฌธ
โ ์กฐ๊ฑด์์ ํ์ธํ๋ค. ์ฐธ์ด๋ฉด ์ฝ๋ ๋ธ๋ญ์ ์คํํ๊ณ , ๊ฑฐ์ง์ด๋ฉด while๋ฌธ์ ๋ฒ์ด๋๋ค
โ ์กฐ๊ฑด์์ด ์ฐธ์ด๋ฉด ์ฝ๋ ๋ธ๋ญ์ ์คํํ๋ค. ์ดํ์ ์ฝ๋ ๋ธ๋ญ์ด ๋๋๋ฉด ๋ค์ ์กฐ๊ฑด์ ๊ฒ์ฌ๋ก ๋์๊ฐ์ ์กฐ๊ฑด์์ ๊ฒ์ฌํ๋ค
while (์กฐ๊ฑด์) {
// ์ฝ๋
}
โญ๏ธ ์ข์ ์ฝ๋๋ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ์ ๋, ๋ณ๊ฒฝํด์ผ ํ๋ ๋ถ๋ถ์ด ์ ๋ค.
int sum = 0;
sum = sum + 1; //sum(0) + 1 -> sum(1)
sum = sum + 2; //sum(1) + 2 -> sum(3)
sum = sum + 3; //sum(3) + 3 -> sum(6)
int count = 0;
while (count < 3) {
count++;
System.out.println("ํ์ฌ ์ซ์๋:" + count);
}
โถ๏ธ do-while๋ฌธ
โ do-while ๋ฌธ์ while ๋ฌธ๊ณผ ๋น์ทํ์ง๋ง, ์กฐ๊ฑด์ ์๊ด์์ด ๋ฌด์กฐ๊ฑด ํ ๋ฒ์ ์ฝ๋๋ฅผ ์คํํ๋ค
do {
// ์ฝ๋
} while (์กฐ๊ฑด์);
โ ์์ while๋ฌธ์ ์๋ฌด๊ฒ๋ ์ถ๋ ฅํ์ง ์๋๋ค
โ ์๋์ do-while๋ฌธ์ ์ต์ด ํ ๋ฒ์ ์ฝ๋ ๋ธ๋ญ์ ์คํํ๋ฏ๋ก "ํ์ฌ ์ซ์๋ : 10"์ ์ถ๋ ฅํ๋ค.
int i = 10;
while (i < 3) {
System.out.println("ํ์ฌ ์ซ์๋:" + i);
i++;
}
int i = 10;
do {
System.out.println("ํ์ฌ ์ซ์๋:" + i);
i++;
} while (i < 3);
โถ๏ธ break, continue
โ break
โ break ๋ ๋ฐ๋ณต๋ฌธ์ ์ฆ์ ์ข ๋ฃํ๊ณ ๋๊ฐ๋ค.
while(์กฐ๊ฑด์) {
์ฝ๋1;
break; //์ฆ์ while๋ฌธ ์ข
๋ฃ๋ก ์ด๋ํ๋ค.
์ฝ๋2;
} //while๋ฌธ ์ข
๋ฃ
โ๏ธ ๋ฌธ์ : 1๋ถํฐ ์์ํด์ ์ซ์๋ฅผ ๊ณ์ ๋์ ํด์ ๋ํ๋ค๊ฐ ํฉ๊ณ๊ฐ 10๋ณด๋ค ํฐ ๊ฐ์ ์ฒ์์ผ๋ก ์ฐพ์ผ๋ฉด?
int sum = 0;
int i = 1;
while (true) {
sum += i;
if (sum > 10) {
System.out.println("ํฉ์ด 10๋ณด๋ค ํฌ๋ฉด ์ข
๋ฃ: i=" + i + " sum=" + sum);
break;
}
i++;
}
โก continue
โ continue ๋ ๋ฐ๋ณต๋ฌธ์ ๋๋จธ์ง ๋ถ๋ถ์ ๊ฑด๋๋ฐ๊ณ ๋ค์ ๋ฐ๋ณต์ผ๋ก ์งํํ๋ ๋ฐ ์ฌ์ฉ
while(์กฐ๊ฑด์) {
์ฝ๋1;
continue;//์ฆ์ ์กฐ๊ฑด์์ผ๋ก ์ด๋ํ๋ค.
์ฝ๋2;
}
โ๏ธ ๋ฌธ์ : 1๋ถํฐ 5๊น์ง ์ซ์๋ฅผ ์ถ๋ ฅํ๋๋ฐ, ์ซ์๊ฐ 3์ผ ๋๋ ์ถ๋ ฅ์ ๊ฑด๋๋ฐ๊ฒ ํ๋ ค๋ฉด?
int i = 1;
while (i <= 5) {
if(i == 3) {
i++;
continue;
}
System.out.println(i);
i++;
}
โถ๏ธ for ๋ฐ๋ณต๋ฌธ
โ for๋ฌธ๋ while๋ฌธ๊ณผ ๊ฐ์ ๋ฐ๋ณต๋ฌธ์ด๊ณ , ์ฝ๋๋ฅผ ๋ฐ๋ณต ์คํํ๋ ์ญํ ์ ํ๋ค.
โ ์ฃผ๋ก ๋ฐ๋ณต ํ์๊ฐ ์ ํด์ ธ ์์ ๋ ์ฌ์ฉํ๋ค.
โ ์ด๊ธฐ์, ์กฐ๊ฑด์, ์ฆ๊ฐ์์ ์ ํ์ด๋ค. ๋จ ์๋ตํด๋ ๊ฐ ์์ญ์ ๊ตฌ๋ถํ๋ ์ธ๋ฏธ ์ฝ๋ก ( ; )์ ์ ์งํด์ผ ํ๋ค.
for (์ด๊ธฐ์; ์กฐ๊ฑด์; ์ฆ๊ฐ์) {
// ์กฐ๊ฑด์์ด ์ฐธ์ผ ๋ ์ํํ statment
}
for (; ;) {
// ์กฐ๊ฑด์์ด ์ฐธ์ผ ๋ ์ํํ statment
}
1. ์ด๊ธฐ์ ์คํ
โ ์ฃผ๋ก ๋ฐ๋ณต ํ์์ ๊ด๋ จ๋ ๋ณ์๋ฅผ ์ ์ธํ๊ณ ์ด๊ธฐํ
โก ์ด๊ธฐ์์ ๋ฑ 1๋ฒ๋ง ์ฌ์ฉ
2. ์กฐ๊ฑด์ ๊ฒ์ฆ
โ ์ฐธ(True)์ด๋ฉด ์ฝ๋๋ฅผ ์คํ
โก ๊ฑฐ์ง(False)์ด๋ฉด for ๋ฐ๋ณต๋ฌธ์ ๋น ์ ธ๋๊ฐ๋ค
3. ์ฝ๋ ์คํ
4. ์ฆ๊ฐ์ ์คํ
โ ์ฝ๋๊ฐ ์ข ๋ฃ๋๋ฉด, ์ฆ๊ฐ์์ ์คํํ๋ค
โก ์ฃผ๋ก ์ด๊ธฐ์์ ๋ฃ์ ๋ฐ๋ณต ํ์์ ๊ด๋ จ๋ ๋ณ์์ ๊ฐ์ ์ฆ๊ฐ(i++)ํ ๋ ์ฌ์ฉํ๋ค
5. ๋ค์ ์กฐ๊ฑด์๋ถํฐ ์คํ
โถ๏ธ ์ค์ฒฉ ๋ฐ๋ณต๋ฌธ
โ ๋ฐ๋ณต๋ฌธ์ ๋ด๋ถ์ ๋ ๋ฐ๋ณต๋ฌธ์ ๋ง๋ค ์ ์๋ค. for , while ๋ชจ๋ ๊ฐ๋ฅํ๋ค
โ ์ธ๋ถ for๋ 2๋ฒ, ๋ด๋ถ for๋ 3๋ฒ ์คํ๋๋ค.
โ ๊ทธ๋ฐ๋ฐ ์ธ๋ถ for 1๋ฒ๋น ๋ด๋ถ for๊ฐ 3๋ฒ ์คํ๋๊ธฐ ๋๋ฌธ์ ์ธ๋ถ(2) * ๋ด๋ถ(3) ํด์ ์ด 6๋ฒ์ ๋ด๋ถ for ์ฝ๋๊ฐ ์ํ
for (int i = 0; i < 2; i++) {
System.out.println("์ธ๋ถ for ์์ i:" + i);
for (int j = 0; j < 3; j++) {
System.out.println("-> ๋ด๋ถ for " + i + "-" + j);
}
System.out.println("์ธ๋ถ for ์ข
๋ฃ i:" + i);
System.out.println(); //๋ผ์ธ ๊ตฌ๋ถ์ ์ํด ์คํ
}
โถ๏ธ ํฅ์๋ for ๋ฐ๋ณต๋ฌธ
[Java ๊ธฐ์ด] ํฅ์๋ for๋ฌธ (for-each)
1. ์ผ๋ฐ์ ์ธ for๋ฌธ int[] numbers = {1, 2, 3, 4, 5}; // ์ผ๋ฐ for๋ฌธ for (int i = 0; i < numbers.length; i++) { int number = numbers[i]; System.out.println(number); } ์ผ๋ฐ์ ์ธ for๋ฌธ์ ์ดํด๋ณด๋ฉด, ๋ฐฐ์ด์ ์๋ ๊ฐ์ ์์๋๋ก ์ฝ์ด์ n
hyukwon-devlog.tistory.com
'Algorithm > ์๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฐ์ด (Array) (0) | 2024.05.08 |
---|---|
[Java ๊ธฐ๋ณธ] ํด๋์ค(Class) (0) | 2024.01.29 |
[Java ๊ธฐ์ด] ๋ฉ์๋(Method) (0) | 2024.01.28 |
[Java ๊ธฐ์ด] ํฅ์๋ for๋ฌธ (for-each) (0) | 2024.01.28 |
[Java ๊ธฐ์ด] ๋ฐฐ์ด(Array) (0) | 2024.01.28 |
์์คํ ๊ณต๊ฐ ๊ฐ์ฌํฉ๋๋ค