728x90
๋ฐ์ํ
๐ 1. for ๋ฃจํ (๊ธฐ๋ณธ for ๋ฌธ)
for ๋ฌธ์ ์ ํต์ ์ธ ๋ฐ๋ณต๋ฌธ์ผ๋ก, ์ธ๋ฑ์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ํํ๋ ๋ฐฉ์์ ๋๋ค.
โ ๋ฌธ๋ฒ:
for (์ด๊ธฐ๊ฐ; ์กฐ๊ฑด; ์ฆ๊ฐ์) {
// ๋ฐ๋ณตํ ์ฝ๋
}
๐ฆ ์์ (๋ฐฐ์ด ์ํ)
public class ForLoopExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// for ๋ฌธ์ ์ด์ฉํ ์ํ
for (int i = 0; i < numbers.length; i++) {
System.out.println("์ซ์: " + numbers[i]);
}
}
}
โ ํน์ง:
- ์ธ๋ฑ์ค๋ฅผ ์ง์ ์กฐ์ํ ์ ์์.
- ๋ฐฐ์ด์ด๋ ๋ฆฌ์คํธ์ ํน์ ๋ฒ์๋ฅผ ์ํํ ๋ ์ฌ์ฉ ๊ฐ๋ฅ.
- ์ํ ์ ์ง ๊ฐ๋ฅ: i๋ฅผ ํตํด ํ์ฌ ์์น๋ฅผ ์ถ์ ๊ฐ๋ฅ.
๐ 2. ํฅ์๋ for ๋ฌธ (Enhanced for loop)
- Java 5๋ถํฐ ๋์ ๋ ๋ฐฉ์.
- ์ปฌ๋ ์ /๋ฐฐ์ด์ ์์๋ฅผ ์ง์ ์ํํ๋ ๋ฐฉ์.
- ์ธ๋ฑ์ค ์ ๊ทผ์ด ํ์ ์์ ๋ ์ฌ์ฉ.
๐ฆ ์์ (๋ฐฐ์ด ์ํ)
public class EnhancedForLoop {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// ํฅ์๋ for ๋ฌธ ์ฌ์ฉ
for (int num : numbers) {
System.out.println("์ซ์: " + num);
}
}
}
โ ํน์ง:
- ๋ ๊ฐ๊ฒฐํจ.
- ์์๋ง ์ํ ๊ฐ๋ฅ (์ธ๋ฑ์ค ์กฐ์ ๋ถ๊ฐ)
- ์ฝ๊ธฐ ์ ์ฉ ์ํ์ ์ ํฉ.
๐ 3. forEach ๋ฉ์๋ (Java 8 ์ดํ)
- Java 8๋ถํฐ ๋์ ๋ Stream API์ ๋๋ค์ ๊ธฐ๋ฐ ๋ฐ๋ณต ๋ฐฉ์.
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ.
- ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ ์ผ๋ก ์์ฑํ ์ ์์.
๐ฆ ์์ (๋ฆฌ์คํธ ์ํ)
import java.util.Arrays;
import java.util.List;
public class ForEachExample {
public static void main(String[] args) {
List<String> fruits = Arrays.asList("Apple", "Banana", "Cherry");
// forEach ๋ฉ์๋ ์ฌ์ฉ + ๋๋ค์
fruits.forEach(fruit -> System.out.println("๊ณผ์ผ: " + fruit));
}
}
โ ํน์ง:
- ๋๋ค ํํ์ ์ฌ์ฉ.
- ๊ฐ๊ฒฐํ๊ณ ์ง๊ด์ .
- ๋ด๋ถ ๋ฐ๋ณต ๋ฐฉ์ ์ฌ์ฉ → ๋ณ๋ ฌ์ฒ๋ฆฌ ๊ฐ๋ฅ (parallelStream).
๐ 4. ๋น๊ต (์ฃผ์ ์ฐจ์ด์ )
ํน์ง for ํฅ์๋ for forEach
| ๋์ ๋ฒ์ | Java 1.0 | Java 5 | Java 8 |
| ๋ฐฉ์ | ์ธ๋ฑ์ค ๊ธฐ๋ฐ | ์์ ๊ธฐ๋ฐ | ๋๋ค ๊ธฐ๋ฐ |
| ์ธ๋ฑ์ค ์ ๊ทผ | ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ |
| ์ปฌ๋ ์ ์ํ | ๊ฐ๋ฅ | ๊ฐ๋ฅ | ๊ฐ๋ฅ |
| ์คํธ๋ฆผ ์ง์ | ๋ถ๊ฐ๋ฅ | ๋ถ๊ฐ๋ฅ | ๊ฐ๋ฅ |
| ์ฝ๋ ๊ฐ๊ฒฐ์ฑ | ์๋์ ์ผ๋ก ๋ณต์ก | ๊ฐ๊ฒฐ | ๋งค์ฐ ๊ฐ๊ฒฐ |
| ์ฌ์ฉ ์์ | ๋ฐฐ์ด, ๋ฒ์ ๋ฐ๋ณต | ์ปฌ๋ ์ ์ ์ฒด ์ํ | ์คํธ๋ฆผ ์ฒ๋ฆฌ, ํจ์ํ ํ๋ก๊ทธ๋๋ฐ |
๐ 5. ์ด๋ค ๊ฒฝ์ฐ์ ์ฌ์ฉํด์ผ ํ ๊น?
โ for ๋ฌธ ์ฌ์ฉ ์ถ์ฒ:
- ์ธ๋ฑ์ค ๊ธฐ๋ฐ ์ ๊ทผ์ด ํ์ํ ๊ฒฝ์ฐ.
- ๋ฐฐ์ด์ ํน์ ๋ฒ์๋ฅผ ์ํํ ๋.
- ๋ฃจํ์ ํ์ฌ ์์น๋ฅผ ์ถ์ ํ ํ์๊ฐ ์์ ๋.
โ ํฅ์๋ for ๋ฌธ ์ฌ์ฉ ์ถ์ฒ:
- ๋ฐฐ์ด์ด๋ ๋ฆฌ์คํธ์ ๋ชจ๋ ์์๋ฅผ ์ํํ ๋.
- ์ธ๋ฑ์ค ์กฐ์์ด ํ์ ์์ ๋.
โ forEach ์ฌ์ฉ ์ถ์ฒ:
- ์๋ฐ 8 ์ด์์ ๋๋ค์ ๊ธฐ๋ฐ ์ฝ๋.
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฉํ ๋.
- ์คํธ๋ฆผ๊ณผ ํจ๊ป ์ฌ์ฉํ ๋.
'Category > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [JAVA] instanceof vs getClass() ์์๋ณด๊ธฐ (1) | 2025.02.27 |
|---|---|
| [JAVA] var๋? (0) | 2025.02.27 |
| [JAVA] ๋๋ค ํํ์(Lambda Expression)๊ณผ ๋ฉ์๋ ์ฐธ์กฐ(Method Reference) (0) | 2025.01.12 |