16장 반복문 제어
목차
- 16.1 반복문 종류 선택
- 16.2 반복문 제어
- 16.3 반복문을 쉽게 작성하는 법 - 안에서부터 밖으로
- 16.4 반복문과 배열의 연관성
16.1 반복문의 종류 선택
while 반복문을 사용하는 시기
- 시작 부분에서 반복의 여부를 판단하는 경우는 우리가 알고 있는 while 반복문을 사용하면 된다.
- 끝 부분에서 반복의 여부를 판단하는 경우는 do-while 반복문을 사용하면 된다.
for 반복문을 사용하는 시기
for 반복문은 비교적 간단한 반복문이 필요할 때 사용한다. for 반복문의 핵심은 반복문의 맨위에서 설정하고 잊어버리면 된다는 점이다. 반복문을 제어하는 부분을 반복문 내부에서 작성할 필요가 없기 때문에 쉽게 사용할 수 있지만 작업 실행 중 반복문을빠져나가야 하는 상황이 생긴다면 while 반복문을 사용하는 것을 추천한다.
16.2 반복문 제어
반복문의 내부도 하나의 루틴으로 작성하면 좋다. 코드를 읽는 사람이 반복문의 내부를 읽지 않고도 코드를 이해할 수 있기 때문이다. 반복 조건만 명시하고, 내부는 하나 또는 몇 개의 루틴으로 작성하는 습관을 들여야겠다.
또한 반복문의 변수를 반복문 내부로 한정하고, i, j, k와 같은 의미 없는 인덱스보다는 실제 값을 나타낼 수 있는 변수를 사용하는 것이 작성할 때 실수를 줄일 수 있고, 코드를 이해하기도 쉽게 만든다.
16.3 반복문을 쉽게 작성하는 법 - 안에서부터 밖으로
반복문 작성 단계
- 주석으로 반복문의 몸체에서 수행해야 하는 단계를 작성한다.
- 전체 반복문을 작성하지 않는 범위 내에서 반복문 몸체에 있는 주석을 코드로 변환한다.
- 배열을 사용했다면 인덱스를 입력한다.
- 지금까지 작성한 내용을 바탕으로 반복문을 작성한다.
- 반복문의 인덱스에 의존하는 변수가 있는지 확인한다.
- 초기화 코드를 작성한다.
16.4 반복문과 배열의 연관성
반복문과 배열은 연관이 있는 경우가 종종 있다. 많은 경우에 반복문은 배열을 다루기 위해서 만들어지며 반복문 카운터는 배열의 인덱스와 일대일로 대응한다.
자바에서는 배열 연산을 수행하기 위해서 반복문이 필요하다. 하지만 반복문 구조와 배열이 선천적으로 연관성이 있지는 않다는 점을 알아둘 필요가 있다. 특히 APL이나 포트란 90과 같은 언어는 for 반복문을 사용할 필요가 없는 강력한 배열 연산을 제공한다. APL은 훨씬 간단하고 오류가 발생할 가능성도 적다.
문제를 해결하기 위해서 프로그래밍을 하고 특정한 언어로 문제를 해결하는 것을 주목해야 한다. 문제를 해결하기 위해서 사용하는 언어가 해결책에 중대한 영향을 미친다.