Responsive Advertisement

Loop Through an Array in Java: ๋ฐฐ์—ด ์ˆœํšŒ์˜ ๋ชจ๋“  ๊ฒƒ

Java์—์„œ ๋ฐฐ์—ด(Array)์€ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ๋กœ, ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์š”์†Œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด ์ˆœํšŒ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๋ฅผ ์ฐพ๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” for loop, for-each loop, while loop ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ํ™œ์šฉ ์˜ˆ์ œ๋ฅผ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

1. For Loop๋กœ ๋ฐฐ์—ด ์ˆœํšŒํ•˜๊ธฐ

For Loop๋Š” ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

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

public class ForLoopExample {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};

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

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

Index 0: 10  
Index 1: 20  
Index 2: 30  
Index 3: 40  
Index 4: 50  

For Loop๋Š” ๋ฐฐ์—ด์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณต๋˜๋ฉฐ, ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐฐ์—ด ์š”์†Œ์— ์ ‘๊ทผํ•ฉ๋‹ˆ๋‹ค.

2. For-Each Loop๋กœ ๋ฐฐ์—ด ์ˆœํšŒํ•˜๊ธฐ

For-Each Loop๋Š” ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉฐ, ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•ด์ง€๊ณ  ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง‘๋‹ˆ๋‹ค.

์˜ˆ์ œ: For-Each Loop๋กœ ๋ฐฐ์—ด ์ˆœํšŒ

public class ForEachExample {
    public static void main(String[] args) {
        String[] fruits = {"Apple", "Banana", "Cherry"};

        for (String fruit : fruits) {
            System.out.println("Fruit: " + fruit);
        }
    }
}

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

Fruit: Apple  
Fruit: Banana  
Fruit: Cherry  

For-Each Loop๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์— ์ž๋™์œผ๋กœ ์ ‘๊ทผํ•˜๋ฉฐ, ์ธ๋ฑ์Šค๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

3. While Loop๋กœ ๋ฐฐ์—ด ์ˆœํšŒํ•˜๊ธฐ

While Loop๋Š” ์กฐ๊ฑด์ด ์ฐธ์ผ ๋™์•ˆ ๋ฐ˜๋ณต๋˜๋ฏ€๋กœ, ๋ฐฐ์—ด ์ˆœํšŒ์—๋„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

public class WhileLoopExample {
    public static void main(String[] args) {
        int[] numbers = {5, 10, 15, 20};
        int i = 0;

        while (i < numbers.length) {
            System.out.println("Number: " + numbers[i]);
            i++;
        }
    }
}

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

Number: 5  
Number: 10  
Number: 15  
Number: 20  

While Loop๋Š” ๋ฃจํ”„ ๋ณ€์ˆ˜๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ, For Loop์— ๋น„ํ•ด ์ฝ”๋“œ๊ฐ€ ๋‹ค์†Œ ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๋ฐฐ์—ด ์ˆœํšŒ์˜ ํ™œ์šฉ ์˜ˆ์ œ

4.1 ๋ฐฐ์—ด ์š”์†Œ์˜ ํ•ฉ๊ณ„ ๊ตฌํ•˜๊ธฐ

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

        for (int number : numbers) {
            sum += number;
        }

        System.out.println("Sum of array elements: " + sum);
    }
}

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

Sum of array elements: 15  

์ด ์ฝ”๋“œ๋Š” For-Each Loop๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํ•ฉ์‚ฐํ•ฉ๋‹ˆ๋‹ค.

4.2 ๋ฐฐ์—ด ์š”์†Œ ์ค‘ ์ตœ๋Œ€๊ฐ’ ์ฐพ๊ธฐ

public class ArrayMax {
    public static void main(String[] args) {
        int[] numbers = {7, 3, 9, 2, 5};
        int max = numbers[0];

        for (int number : numbers) {
            if (number > max) {
                max = number;
            }
        }

        System.out.println("Maximum value: " + max);
    }
}

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

Maximum value: 9  

๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ ์ตœ๋Œ€๊ฐ’์„ ์ฐพ๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

4.3 ํŠน์ • ๊ฐ’์˜ ์ธ๋ฑ์Šค ์ฐพ๊ธฐ

public class FindIndex {
    public static void main(String[] args) {
        int[] numbers = {10, 20, 30, 40, 50};
        int target = 30;
        int index = -1;

        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] == target) {
                index = i;
                break;
            }
        }

        if (index != -1) {
            System.out.println("Target found at index: " + index);
        } else {
            System.out.println("Target not found.");
        }
    }
}

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

Target found at index: 2  

์ด ์ฝ”๋“œ๋Š” ํŠน์ • ๊ฐ’์˜ ์ธ๋ฑ์Šค๋ฅผ ์ฐพ์•„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

5. ๋ฐฐ์—ด ์ˆœํšŒ ์‹œ ์ฃผ์˜์‚ฌํ•ญ

  • ์ธ๋ฑ์Šค ๋ฒ”์œ„: ๋ฐฐ์—ด์˜ ์œ ํšจํ•œ ์ธ๋ฑ์Šค ๋ฒ”์œ„๋Š” 0๋ถ€ํ„ฐ length - 1๊นŒ์ง€์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฒ—์–ด๋‚˜๋ฉด ArrayIndexOutOfBoundsException์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
  • Null ๋ฐฐ์—ด ํ™•์ธ: ๋ฐฐ์—ด์ด null์ผ ๊ฒฝ์šฐ ์ˆœํšŒ ์ „์— ๋ฐ˜๋“œ์‹œ null ๊ฒ€์‚ฌ๋ฅผ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

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

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