Responsive Advertisement

Java For Each Loop: ๋ฐฐ์—ด๊ณผ ์ปฌ๋ ‰์…˜์„ ํšจ์œจ์ ์œผ๋กœ ์ˆœํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•

Java์˜ For Each Loop๋Š” ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์„ ๊ฐ„๋‹จํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ณต๋ฌธ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ for ๋ฃจํ”„์— ๋น„ํ•ด ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์•„ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” For Each Loop์˜ ๋ฌธ๋ฒ•๊ณผ ํ™œ์šฉ๋ฒ•, ๊ทธ๋ฆฌ๊ณ  ์ฃผ์˜์‚ฌํ•ญ์„ ๋‹ค์–‘ํ•œ ์˜ˆ์ œ์™€ ํ•จ๊ป˜ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. For Each Loop ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

For Each Loop๋Š” ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉฐ, ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

for (๋ฐ์ดํ„ฐํƒ€์ž… ๋ณ€์ˆ˜ : ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜) {
    // ์‹คํ–‰ํ•  ์ฝ”๋“œ
}

์œ„ ๊ตฌ์กฐ์—์„œ ๋ฐฐ์—ด ๋˜๋Š” ์ปฌ๋ ‰์…˜์˜ ๊ฐ ์š”์†Œ๊ฐ€ ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜๋ฉฐ, ์ด๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ: ๋ฐฐ์—ด ์ˆœํšŒ

public class ForEachExample {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        for (int num : numbers) {
            System.out.println("์ˆซ์ž: " + num);
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์ˆซ์ž: 1  
์ˆซ์ž: 2  
์ˆซ์ž: 3  
์ˆซ์ž: 4  
์ˆซ์ž: 5  

2. For Each Loop์˜ ๋‹ค์–‘ํ•œ ํ™œ์šฉ

2.1 ๋ฌธ์ž์—ด ๋ฐฐ์—ด ์ˆœํšŒ

For Each Loop๋Š” ๋ฌธ์ž์—ด ๋ฐฐ์—ด์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

public class StringArrayExample {
    public static void main(String[] args) {
        String[] fruits = {"์‚ฌ๊ณผ", "๋ฐ”๋‚˜๋‚˜", "์ฒด๋ฆฌ"};

        for (String fruit : fruits) {
            System.out.println("๊ณผ์ผ: " + fruit);
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

๊ณผ์ผ: ์‚ฌ๊ณผ  
๊ณผ์ผ: ๋ฐ”๋‚˜๋‚˜  
๊ณผ์ผ: ์ฒด๋ฆฌ  

2.2 ์ปฌ๋ ‰์…˜ ์ˆœํšŒ

For Each Loop๋Š” ArrayList์™€ ๊ฐ™์€ ์ปฌ๋ ‰์…˜์„ ์ˆœํšŒํ•  ๋•Œ๋„ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

import java.util.ArrayList;

public class CollectionExample {
    public static void main(String[] args) {
        ArrayList<String> cars = new ArrayList<>();
        cars.add("BMW");
        cars.add("Tesla");
        cars.add("Audi");

        for (String car : cars) {
            System.out.println("์ž๋™์ฐจ: " + car);
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

์ž๋™์ฐจ: BMW  
์ž๋™์ฐจ: Tesla  
์ž๋™์ฐจ: Audi  

2.3 2์ฐจ์› ๋ฐฐ์—ด ์ˆœํšŒ

For Each Loop๋Š” ์ค‘์ฒฉํ•˜์—ฌ 2์ฐจ์› ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋Š” ๋ฐ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

public class TwoDimArrayExample {
    public static void main(String[] args) {
        int[][] matrix = {
            {1, 2, 3},
            {4, 5, 6},
            {7, 8, 9}
        };

        for (int[] row : matrix) {
            for (int num : row) {
                System.out.print(num + " ");
            }
            System.out.println();
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

1 2 3  
4 5 6  
7 8 9  

3. For Each Loop ์‚ฌ์šฉ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • ์ˆ˜์ • ๋ถˆ๊ฐ€: For Each Loop๋Š” ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์˜ ์š”์†Œ๋ฅผ ์ง์ ‘ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์š”์†Œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด for ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ธ๋ฑ์Šค ์ ‘๊ทผ ๋ถˆ๊ฐ€: For Each Loop์—์„œ๋Š” ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค์— ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, ์ธ๋ฑ์Šค๊ฐ€ ํ•„์š”ํ•œ ์ž‘์—…์—์„œ๋Š” for ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • NullPointerException: ์ˆœํšŒํ•˜๋ ค๋Š” ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์ด null์ด๋ฉด ์˜ˆ์™ธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ, ๋ฐ˜๋“œ์‹œ null ๊ฒ€์‚ฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

์š”์†Œ ์ˆ˜์ •์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ

public class ModifyArray {
    public static void main(String[] args) {
        int[] numbers = {1, 2, 3, 4, 5};

        // ๊ธฐ์กด ์š”์†Œ ๊ฐ’์„ 2๋ฐฐ๋กœ ๋ณ€๊ฒฝ
        for (int i = 0; i < numbers.length; i++) {
            numbers[i] *= 2;
        }

        for (int num : numbers) {
            System.out.println(num);
        }
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

2  
4  
6  
8  
10  

4. For Each Loop์™€ ๊ธฐ์กด For Loop ๋น„๊ต

For Each Loop๋Š” ๊ฐ„๊ฒฐํ•˜์ง€๋งŒ, ๊ธฐ์กด for ๋ฃจํ”„์— ๋น„ํ•ด ์ œํ•œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ๋‘ ๋ฐฉ์‹์˜ ๋น„๊ต ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

For Each Loop

int[] numbers = {10, 20, 30};

for (int num : numbers) {
    System.out.println(num);
}

๊ธฐ์กด For Loop

int[] numbers = {10, 20, 30};

for (int i = 0; i < numbers.length; i++) {
    System.out.println(numbers[i]);
}

For Each Loop๋Š” ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•˜์ง€๋งŒ, ์š”์†Œ๋ฅผ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐธ์กฐํ•  ํ•„์š”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๊ธฐ์กด for ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

5. ๊ฒฐ๋ก 

Java์˜ For Each Loop๋Š” ๋ฐฐ์—ด๊ณผ ์ปฌ๋ ‰์…˜์„ ๊ฐ„๋‹จํžˆ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ์–ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ  ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด For Each Loop์˜ ํ™œ์šฉ๋ฒ•์„ ์ตํžˆ๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ๊ธฐ์กด for ๋ฃจํ”„์™€ ์ ์ ˆํžˆ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ