Java/이론 및 문법

[Java] 반복문의 제어문(Control Flow Statement) 이해하기

adjh54 2023. 10. 3. 15:45
728x170
해당 글에서는 반복문에서 사용하고 있는 제어문에 대해 이해하고 상황에 맞게 사용하는 방법에 대해 알아봅니다



1) 반복문


💡 제어문을 활용할 수 있는 반복문에는 for문, for~each문, while문, do~while문에서 활용이 가능합니다.

 

💡 [참고] 반복문에 대해 궁금하시다면 아래의 글을 참고하시면 도움이 됩니다.
 

[Java] 사용 목적에 따른 반복문(Loop) 이해하기

해당 글에서는 Java에서 사용목적에 따라 반복문에 대해 이해를 돕기 위해 작성한 글입니다 0) 반복문 요약 💡 반복문은 중점은 속도보다는 각각의 목적에 따라서 사용되기에 각각의 목적에 맞

adjh54.tistory.com

 

 

 

2) 제어문 종류 및 활용


 

1. break


💡 break

- 수행하는 ‘반복문을 즉시 종료’시키는 역할을 수행하는 제어문입니다.


- 반복문 내에서 조건을 만족하면 break 문을 만나는 순간 반복문을 빠져나오고, 반복이 중단됩니다. 이는 특정 조건이 충족되었을 때 반복을 멈추고 다음 코드로 이동하기 위해 사용됩니다.

 

💡 활용 예시

- 아래의 예시는 이중 for문으로 구성되어 있습니다.
- 내부 for문을 수행하는 도중에 인덱스 값이 i와 j가 2가 되는 순간 break 제어문을 만나게 되어 종료합니다.
for (int i = 1; i <= 3; i++) {
    for (int j = 1; j <= 3; j++) {
        System.out.println(i + ", " + j);
        if (i == 2 && j == 2) {
            break;
        }
    }
}

 

 💡출력 결과
1, 1
1, 2
1, 3
2, 1
2, 2

 

 

[ 더 알아보기 ]

💡 그럼 이중 for문 일 경우 내부 for문에 break가 발생하면 내부 for문만 중단되고 외부 for문은 수행되는 거 맞나?


- 맞습니다. 이중 for문에서 내부 for문에 break가 있다면 내부 for문만 중단이 되고 다음 외부 for문이 수행됩니다.

 

 

2. continue


💡 continue

- 반복문의 ‘현재 단계를 건너뛰고 다음 반복 단계로 넘어가는 역할’을 수행하는 제어문입니다.

- 반복문 내에서 특정 조건에 따라 특정 코드 블록을 건너뛰고자 할 때 사용됩니다. continue 문을 만나면 남은 코드를 실행하지 않고, 다음 반복 단계로 진행합니다.
- 예로는 for문을 이용한 경우 i가 1번 인덱스일 경우 바로 2번 인덱스를 수행하도록 넘어갑니다.

 

 

💡 활용예시

- 아래의 예시는 이중 for문으로 구성되어 있습니다.
- 내부 for문을 수행하는 도중에 인덱스 값이 j가 3가 다음 인덱스로 넘어갑니다.
- 결론적으로 j가 3인 경우인 "i: 1, j: 3"과 "i: 2, j: 3"은 출력되지 않고 건너뛰게 됩니다.
for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= 5; j++) {
        if (j == 3) {
            continue;
        }
        System.out.println("i: " + i + ", j: " + j);
    }
}

 

 

💡 출력 결과
i: 1, j: 1
i: 1, j: 2
i: 1, j: 4
i: 1, j: 5
i: 2, j: 1
i: 2, j: 2
i: 2, j: 4
i: 2, j: 5
i: 3, j: 1
i: 3, j: 2
i: 3, j: 4
i: 3, j: 5
i: 4, j: 1
i: 4, j: 2
i: 4, j: 4
i: 4, j: 5
i: 5, j: 1
i: 5, j: 2
i: 5, j: 4
i: 5, j: 5

 

 

 

3. return


 💡 return

- 현재 메소드의 ‘실행을 중단하고 호출한 곳으로 돌아가는 역할’을 수행하는 제어문입니다.

- 반복문 내에서 조건을 만족하면 return; 문을 만나는 순간 반복문을 빠져나오고, 메소드의 실행이 중단됩니다.

 

💡 활용예시

- 아래의 예시는 이중 for문으로 구성되어 있습니다.
- 내부 for문을 수행하는 도중에 j의 인덱스 값이 3인 경우 반복문을 호출한 곳으로 돌아가게 됩니다.
- 결론적으로 j가 3인 경우인 "i: 1, j: 3" 이후의 반복은 return 문으로 인해 실행되지 않고 반복문이 종료됩니다.
for (int i = 1; i <= 5; i++) {
    for (int j = 1; j <= 5; j++) {
        if (j == 3) {
            return;
        }
        System.out.println("i: " + i + ", j: " + j);
    }
}

 

 

💡 출력 결과
i: 1, j: 1
i: 1, j: 2

 

 

 

 

[ 더 알아보기 ]
💡 break문과 return문이 비슷한 역할을 하는거 같으면서 다른데 무슨 차이야?

- break문: 반복문 (예: for, while) 내에서 사용되며, 해당 반복문을 즉시 종료하고 다음 코드로 이동합니다.
- return문: 함수 내에서 사용되며, 함수를 호출한 곳으로 값을 반환하고 함수 실행을 종료합니다.

- 결론적으로 break문은 ‘반복문을 제어’하고 중단할 때 사용되지만 return문은 ‘함수의 실행을 제어’하고 값을 반환할 때 사용됩니다.

 

 

 

 

 

 

오늘도 감사합니다. 😀

 

 

 

 

그리드형