Java

[Java] 자바에서 이중 for문을 빠져나오는 방법 3가지

yujinius 2024. 5. 18. 21:37


자바 프로그래밍을 하다 보면 이중 for문을 사용하게 되는 경우가 많습니다. 하지만 특정 조건에서 이중 for문을 빠져나와야 할 때 어떻게 해야 할까요? 오늘은 자바에서 이중 for문을 빠져나오는 여러 가지 방법에 대해 알아보겠습니다.

1. breaklabel 사용

자바에서는 break 문을 사용하여 가장 가까운 루프를 종료할 수 있습니다. 하지만 이중 for문에서 바깥쪽 루프까지 한 번에 빠져나가려면 label을 사용해야 합니다. label은 루프에 이름을 붙여주는 것입니다.


public class BreakWithLabel {
    public static void main(String[] args) {
        outerLoop: // label 선언
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                if (i * j > 6) {
                    System.out.println("Breaking out of both loops.");
                    break outerLoop; // label을 사용한 break
                }
                System.out.println(i + " " + j);
            }
        }
        System.out.println("Loops are done.");
    }
}

위 코드에서는 outerLoop 라는 label을 선언하고, break outerLoop를 사용하여 바깥쪽 루프까지 한 번에 빠져나옵니다.

2. 플래그 변수를 사용한 방법

또 다른 방법으로는 플래그 변수를 사용하는 것입니다. 플래그 변수를 사용하면 조건에 따라 루프를 종료할 수 있습니다.


public class BreakWithFlag {
    public static void main(String[] args) {
        boolean flag = false; // 플래그 변수 선언
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                if (i * j > 6) {
                    flag = true; // 플래그 변수를 true로 설정
                    break;
                }
                System.out.println(i + " " + j);
            }
            if (flag) { // 바깥 루프에서 플래그 변수를 확인
                break;
            }
        }
        System.out.println("Loops are done.");
    }
}

위 코드에서는 flag 변수를 사용하여 내부 루프에서 조건을 만족하면 플래그를 true로 설정하고, 바깥 루프에서도 이 플래그를 확인하여 루프를 종료합니다.

3. 함수로 분리하여 리턴하는 방법

이중 for문을 함수로 분리하고, 조건을 만족할 때 return 문을 사용하여 함수를 종료하는 방법도 있습니다. 이렇게 하면 코드가 더 깔끔해질 수 있습니다.


public class BreakWithReturn {
    public static void main(String[] args) {
        executeLoops();
        System.out.println("Loops are done.");
    }

    public static void executeLoops() {
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                if (i * j > 6) {
                    System.out.println("Breaking out of both loops.");
                    return; // 함수 종료
                }
                System.out.println(i + " " + j);
            }
        }
    }
}

위 코드에서는 이중 for문을 executeLoops라는 함수로 분리하고, 조건을 만족할 때 return을 사용하여 함수 실행을 종료합니다.

결론

자바에서 이중 for문을 빠져나오는 방법에는 breaklabel을 사용하는 방법, 플래그 변수를 사용하는 방법, 함수를 분리하여 return을 사용하는 방법이 있습니다. 상황에 맞는 방법을 선택하여 코드의 가독성과 유지보수성을 높이세요.

이 포스팅이 자바 프로그래밍에 도움이 되었기를 바랍니다. Happy Coding!