์ค๋์ ์๋ฐ ํ๋ก๊ทธ๋๋ฐ์์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ด ๋๋ ์ ์ด๋ฌธ ์ค ํ๋์ธ for ๋ฌธ์ ๋ํด ์์๋ณด๋ ค๊ณ ํฉ๋๋ค. for ๋ฌธ์ ํ๋ก๊ทธ๋จ์์ ๋ฐ๋ณต์ ์ผ๋ก ์์ ์ ์ํํ ๋ ๋งค์ฐ ์ ์ฉํ๊ฒ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ java for ๋ฌธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ถํฐ ๋ค์ํ ํ์ฉ๋ฒ, ๊ทธ๋ฆฌ๊ณ ์ค์ ์์ ๊น์ง ๋ค๋ค๋ณด๊ฒ ์ต๋๋ค.
โฃ ๋ชฉ์ฐจ
1. for ๋ฌธ ๊ธฐ๋ณธ ๊ตฌ๋ฌธ๐ณ
for ๋ฌธ์ ๋ฐ๋ณต์ ์ผ๋ก ์ฝ๋ ๋ธ๋ก์ ์คํํ๋ ์ ์ด๋ฌธ ์ค ํ๋๋ก, ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋์ ์ฝ๋๋ฅผ ๋ฐ๋ณต ์คํํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด for ๋ฌธ์ ์ ์ฌ์ฉํ ๊น์? for๋ฌธ์ ์ฌ์ฉํ๋ฉด ์์ ์ ๊ฐํธํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๋ฐ๋ณต ํ์๋ฅผ ๋ฏธ๋ฆฌ ์๊ณ ์์ ๋ ๋งค์ฐ ์ ์ฉํ๋ฉฐ, ๋ฐฐ์ด์ด๋ ์ปฌ๋ ์ ๋ฑ๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ํํ ๋ ์์ฃผ ํ์ฉ๋ฉ๋๋ค. ์ด์ , for ๋ฌธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ฅผ ์์๋ณด๊ฒ ์ต๋๋ค.
for (์ด๊ธฐํ; ์กฐ๊ฑด์; ์ฆ๊ฐ์) {
// ๋ฐ๋ณต์ ์ผ๋ก ์คํํ ์ฝ๋
}
- ์ด๊ธฐํ: ๋ฐ๋ณต๋ฌธ์ด ์์๋ ๋ ํ ๋ฒ๋ง ์คํ๋๋ ๋ถ๋ถ์ ๋๋ค.
- ์กฐ๊ฑด์: ๊ฐ ๋ฐ๋ณต๋ง๋ค ํ๊ฐ๋์ด true ๋๋ false๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ด๋ ๋ถ๋ถ์ ๋๋ค. ์กฐ๊ฑด์์ด ๊ฑฐ์ง์ด ๋๋ฉด ๋ฐ๋ณต๋ฌธ์ด ์ข ๋ฃํฉ๋๋ค.
- ์ฆ๊ฐ์: ๊ฐ ๋ฐ๋ณต์ด ๋๋ ํ์ ์คํ๋๋ ๋ถ๋ถ์ผ๋ก, ๋ฐ๋ณต ํ์๋ฅผ ์กฐ์ ํฉ๋๋ค.
for ๋ฌธ์ ๋์์๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด๊ธฐ์์๋ ๋ณ์๋ฅผ ์ด๊ธฐํํฉ๋๋ค. ์ด๋ ์ด๊ธฐํ๋ ๋ณ์๋ฅผ for๋ฌธ ๋ธ๋ก {} ์์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์กฐ๊ฑด์์ ํ๊ฐํฉ๋๋ค.
- ์กฐ๊ฑด์์ด ์ฐธ์ธ ๊ฒฝ์ฐ for ๋ฌธ ๋ด์ ์ฝ๋๋ฅผ ์คํํ๊ณ , ๊ฑฐ์ง์ธ ๊ฒฝ์ฐ for ๋ฌธ์ ํ์ถํฉ๋๋ค.
- ์ฆ๊ฐ์์ด ์คํ๋ฉ๋๋ค.
- ๋ค์ ์กฐ๊ฑด์์ ํ๋ณํฉ๋๋ค.
2. for ๋ฌธ์ ๋ค์ํ ํ์ฉ๋ฒ๐ท
for ๋ฌธ์ ๋ค์ํ ์ํฉ์์ ํ์ฉ๋ ์ ์์ต๋๋ค.
โถfor ๋ฌธ ๋ฐฐ์ด๊ณผ ํจ๊ป ์ฌ์ฉํ๊ธฐ
int[] numbers = {1, 2, 3, 4, 5};
// ๋ฐฐ์ด numbers์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํ๋ for๋ฌธ
for (int i = 0; i < numbers.length; i++) {
// ๋ฐฐ์ด์ ๊ฐ ์์๋ฅผ ์ถ๋ ฅ
System.out.println(numbers[i]);
}
โถfor ๋ฌธ ๋ฌธ์์ด ์ฒ๋ฆฌ์ ์์ฉํ๊ธฐ
String message = "Hello";
// ๋ฌธ์์ด message๋ฅผ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ณํํ๊ณ , ๊ฐ ๋ฌธ์๋ฅผ ์ํํ๋ for-each๋ฌธ
for (char ch : message.toCharArray()) {
// ๊ฐ ๋ฌธ์๋ฅผ ์ถ๋ ฅ
System.out.println(ch);
}
โถ์ค์ฒฉ๋ for ๋ฌธ์ ํ์ฉ๋ฒ
// ๋ฐ๊นฅ์ชฝ for๋ฌธ: i๊ฐ 0๋ถํฐ 2๊น์ง ๋ฐ๋ณต
for (int i = 0; i < 3; i++) {
// ์์ชฝ for๋ฌธ: j๊ฐ 0๋ถํฐ 2๊น์ง ๋ฐ๋ณต
for (int j = 0; j < 3; j++) {
// ํ์ฌ i์ j์ ๊ฐ์ ์ถ๋ ฅ
System.out.println("i: " + i + ", j: " + j);
}
}
3. for ๋ฌธ ์ค์ ์์ ๐
โถ1๋ถํฐ N๊น์ง ์์ ํฉ์ ์ถ๋ ฅํ๊ธฐ
// Scanner๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ก๋ถํฐ ์ ์ ์
๋ ฅ ๋ฐ๊ธฐ
Scanner sc = new Scanner(System.in);
// ์ ์ ์
๋ ฅ ๋ฐ๊ธฐ
int N = sc.nextInt();
// 1๋ถํฐ N๊น์ง์ ํฉ์ ์ ์ฅํ ๋ณ์ ์ด๊ธฐํ
int sum = 0;
// 1๋ถํฐ N๊น์ง ๋ฐ๋ณตํ์ฌ ํฉ์ ๊ณ์ฐํ๋ for๋ฌธ
for (int i = 1; i <= N; i++) {
// ํ์ฌ ์ซ์๋ฅผ ํฉ์ ๋ํจ
sum += i;
}
// ์ด ํฉ์ ์ถ๋ ฅ
System.out.println(sum);
โถ ์ค์ฒฉ for๋ฌธ์ผ๋ก ๊ตฌ๊ตฌ๋จ ์ถ๋ ฅํ๊ธฐ
// ๋ฐ๊นฅ์ชฝ for๋ฌธ: ๊ตฌ๊ตฌ๋จ์ ๋จ์ ๋ํ๋ด๋ ๋ณ์ i๋ฅผ 2๋ถํฐ 9๊น์ง ๋ฐ๋ณต
for (int i = 2; i <= 9; i++) {
// ์์ชฝ for๋ฌธ: ๊ฐ ๋จ์์ ๊ณฑํด์ง๋ ์๋ฅผ ๋ํ๋ด๋ ๋ณ์ j๋ฅผ 1๋ถํฐ 9๊น์ง ๋ฐ๋ณต
for (int j = 1; j <= 9; j++) {
// ๊ตฌ๊ตฌ๋จ์ ์์ ์ถ๋ ฅ
System.out.println(i + " * " + j + " = " + (i * j));
}
}
โถ๋ฐฐ์ด ์์์ ํฉ ๊ตฌํ๊ธฐ
int[] numbers = {1, 2, 3, 4, 5};
int sum = 0;
// ๋ฐฐ์ด numbers์ ๊ฐ ์์๋ฅผ ์ํํ๋ฉด์ ํฉ๊ณ๋ฅผ ๊ตฌํ๋ for-each๋ฌธ
for (int num : numbers) {
// ๊ฐ ์์๋ฅผ ํฉ๊ณ์ ๋ํจ
sum += num;
}
// ์ด ํฉ๊ณ๋ฅผ ์ถ๋ ฅ
System.out.println("ํฉ๊ณ: " + sum);
โถ์ค์ฒฉ for๋ฌธ์ผ๋ก ๋ค์ํ ๋ณ ๋ชจ์ ์ถ๋ ฅํ๊ธฐ
// ํผ๋ผ๋ฏธ๋ ๋ชจ์์ ๋ณ ์ถ๋ ฅ
for (int i = 0; i < 4; i++) {
// ์ผ์ชฝ ๊ณต๋ฐฑ ์ถ๋ ฅ
for (int j = 0; j < 3 - i; j++) {
System.out.print(" ");
}
// ๋ณ ์ถ๋ ฅ
for (int j = 0; j < 2 * i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
// ์ญ์ผ๊ฐํ ๋ชจ์์ ๋ณ ์ถ๋ ฅ
for (int i = 5; i > 0; i--) {
// ๋ณ ์ถ๋ ฅ
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
// ๋ค์ด์๋ชฌ๋ ๋ชจ์์ ๋ณ ์ถ๋ ฅ
for (int i = 1; i < 10; i += 2) {
// ์ผ์ชฝ ๊ณต๋ฐฑ ์ถ๋ ฅ
for (int j = 9; j > i; j -= 2) {
System.out.print(" ");
}
// ๋ณ ์ถ๋ ฅ
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
// ๋ค์ด์๋ชฌ๋ ๋ชจ์์ ๋ฐ๋ํธ ๋ณ ์ถ๋ ฅ
for (int i = 1; i < 10; i += 2) {
// ์ผ์ชฝ ๊ณต๋ฐฑ ์ถ๋ ฅ
for (int j = 0; j < i; j += 2) {
System.out.print(" ");
}
// ๋ณ ์ถ๋ ฅ
for (int j = 8; j > i; j--) {
System.out.print("*");
}
System.out.println();
}
4. for ๋ฌธ ์ฃผ์ํ ์ ๐
- for ๋ฌธ์ ์ฌ์ฉํ ๋๋ ์กฐ๊ฑด์์ ์ ์คํ๊ฒ ์์ฑํด์ผ ํฉ๋๋ค. ์กฐ๊ฑด์์ด ํญ์ ์ฐธ์ด ๋์ด ๋ฌดํ ๋ฃจํ์ ๋น ์ง์ง ์๋๋ก ์ฃผ์ํด์ผํฉ๋๋ค.
- ๋ณ์ ์ด๊ธฐํ์์์ ์ฌ์ฉ๋๋ ๋ณ์๋ for ๋ฌธ ๋ธ๋ก ์์์๋ง ์ ํจํ ๋ก์ปฌ ๋ณ์์ ๋๋ค. ๋ฐ๋ผ์ for ๋ฌธ์ ๋ฒ์ด๋์๋ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด for๋ฌธ ์ด์ ์ ์ ์ธํด์ผ ํฉ๋๋ค.
- ์ด๊ธฐํ์์์ float ํ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ํผํด์ผ ํฉ๋๋ค. ๋ถ๋ ์์์ ์ฐ์ฐ์ ์ ํํ ๊ฐ์ ๋ณด์ฅํ์ง ์์ผ๋ฏ๋ก, ์ฆ๊ฐ์์์ ๋ํด์ง๋ ๊ฐ์ด ๋ณํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ float ํ์ ์ ์ฌ์ฉํ๋ ๋์ ์ ๋ค๋ฅธ ํ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
5. ํต์ฌ ๋ด์ฉ๐