자바는 다음 3가지 반복문을 제공한다.
while
,do-while
,for
while
1 |
|
장점
- 루프의 조건이 루프 내부에서 변경되는 경우, while 루프는 이를 관리하기 쉽다.
- for 루프보다 더 복잡한 조건과 시나리오에 적합하다.
- 조건이 충족되는 동안 계속해서 루프를 실행하며, 종료 시점을 명확하게 알 수 없는 경우에 유용하다.
단점
- 초기화, 조건 체크, 반복 후의 작업이 분산되어 있어 코드를 이해하거나 작성하기 어려울 수 있다.
- 루프 변수가 while 블록 바깥에서도 접근 가능하므로, 이 변수를 실수로 변경하는 상황이 발생할 수 있다.
do - while
1 |
|
do-while
문은 while
문과 비슷하지만, 조건에 상관없이 무조건 한 번은 코드를 실행한다.
for
1 |
|
장점
- 초기화, 조건 체크, 반복 후의 작업을 한 줄에서 처리할 수 있어 편리하다.
- 정해진 횟수만큼의 반복을 수행하는 경우에 사용하기 적합하다.
- 루프 변수의 범위가 for 루프 블록에 제한되므로, 다른 곳에서 이 변수를 실수로 변경할 가능성이 적다.
단점
- 루프의 조건이 루프 내부에서 변경되는 경우, for 루프는 관리하기 어렵다.
- 복잡한 조건을 가진 반복문을 작성하기에는 while문이 더 적합할 수 있다.
break, continue
break
와 continue
는 반복문에서 사용할 수 있는 키워드다. break 는 반복문을 즉시 종료하고 나간다. continue 는 반복문의 나머지 부분을 건너뛰고 다음 반복으로 진행하는데 사용된다. 모든 반복문에서 사용할 수 있다.
for문 vs while문
for
문은 반복 횟수에 직접적인 영향을 주는 변수를 선언부터, 값 변화, 조건식에 활용까지 가능하다. 즉, for
문은 while
문을 조금 더 편하게 다룰 수 있도록 구조화한 것이다. for
문을 사용하면 개발자는 반복 횟수와 관련된 코드를 나머지 코드와 명확하게 구분할 수 있다. 반면에 while
문을 사용하는 경우 반복 횟수 변수인 i
를 선언하는 부분과 ++i
변화하는 부분이 분산되어 있다.
💡 요약
정해진 횟수만큼 반복을 수행해야 하면 for문을 사용하고 그렇지 않으면 while문을 사용하면 된다. 물론 이것이 항상 정답은 아니다.