위와 같은 이중 for문이 있습니다.
위 코드에서 break문은 어떤 반복문을 탈출할까요?
가장 가까운 반목문인 안쪽 반복문 입니다.
하지만, j가 5가 될때 두 반복문 모두 탈출하고 싶다면 어떻게 해야 할까요?
for문 바깥쪽, 혹은 첫 번째 for문 안쪽에 flag 변수를 두고,
j == 5가 됬을 때, flag를 true로 바꿈으로써
두 반복문을 모두 탈출할 수 있습니다.
하지만 별도의 flag를 두어 관리하는게 조금 번거로워 방법을 찾아보던 중,
for문에 라벨링을 붙이는 방법을 알게 되었습니다.
바깥쪽 for문에 outer라는 이름으로 라벨링을 붙여주고,
안쪽 for문에서 해당 반복문에 break를 걸 수 있게 되었습니다.
바깥쪽 반복문을 탈출하므로 안쪽 반복문 역시 자연스레 탈출하게 됩니다.
이는 continue문에도 사용이 가능합니다.
물론 while문에도 사용이 가능합니다.
이와 같이 for, while문에 라벨링을 붙임으로써 더 효율적으로 반복문 제어가 가능합니다
하지만 무분별한 라벨링은
반복문의 흐름이 어떤지 파악하기 어렵게 하며,
코드의 가독성이 오히려 떨어질 수 있으므로
적절한 사용이 필요합니다.
실제 개발을 하다 보면 라벨링은 그리 흔하게 쓰이는 방법은 아니며,
주로 변수를 따로 두어 제어합니다.
'언어 > Java' 카테고리의 다른 글
[자바] Swing과 DFS로 미로 생성기 만들기 (0) | 2023.07.30 |
---|---|
상속과 자바 Stack 클래스의 문제점 (0) | 2023.06.20 |
자바, 코틀린을 위한 인텔리제이(Intellij IDEA) 설치방법 (0) | 2023.03.08 |
[Java] 자바 다운로드 및 설치 방법 및 환경 변수 설정 (2) | 2023.03.07 |
[Java] 자바 Swing을 사용한 GUI 숫자 야구 게임 (0) | 2023.02.18 |