지난 글: [프로그래밍 언어/JAVA] - JAVA 입문 - 조건문
반복문이란?
프로그램에서 반복되는 일을 효율적으로 구현하기 위해 사용하는 것이다.
JAVA 프로그램에서 사용하는 반복문의 종류에는 while문, do-while문, for문 이렇게 세 가지이다.
모두 동일하게 반복 수행을 하지만, 사용 방법에 차이가 있다.
while문
while문은 조건식이 참인 동안 수행문을 반복해서 수행한다.
어떤 조건식을 만족하는 동안 중괄호 { } 안의 수행문을 반복해서 처리한다.
조건문과 마찬가지로 수행문이 하나인 경우에는 { }를 사용하지 않을 수도 있다.
예시) while문을 사용한 1부터 10까지 차례대로 더하는 프로그램


while문이 무한히 반복되는 경우
while문은 특정 조건을 만족하는 동안 반복되는 명령을 수행하고
그렇지 않으면 수행을 중단한 후 while문을 빠져나온다. 그런에 어떤 일을 수행할 때는
멈추면 안 되고 무한 반복해야 하는 경우도 있다.
위에서 while문의은 조건식이 참인 동안 수행문을 반복한다 했다.
while(true)
그럼 이처럼 조건식에 참(true)를 넣어주면 무한히 반복한다.
do-while문
while문은 조건을 먼저 검사하기에 조건식에 맞지 않으면 반복 수행이 한 번도 일어나지 않는다.
하지만 do-while문은 { } 안의 문장을 무조건 한 번 수행한 후에 조건식을 검사한다.
조건이 만족하는지 여부를 마지막에 검사한다는 것이다.
따라서 { } 안의 문장을 반드시 한 번 이상 수행해야 할 때는 while문 대신 do-while문을 사용한다.
예시) 위의 while문으로 만든 1부터 10까지 더하는 프로그램을 do-while문으로 바꾼다.


for문
for문은 while문이나 do-while문보다 구조가 조금 더 복잡하다.
이유는 반복문을 구현하는 데 필요한 요소들을 함께 작성하기 때문이다.
for(초기화식; 조건식; 증감식) {
수행문;
}
초기화식은 for문이 시작할 때 처음 한 번만 수행하며 사용할 변수를 초기화한다.
조건식에서 언제까지 수행할 것인지를 구현한다.
증감식에서는 반복 횟수나 for문에서 사용하는 변수 값을 1만큼 늘리거나 줄인다.
for문의 수행 순서는 초기화식(처음 한 번), 조건식, 수행문, 증감식이다.
for문은 증감식에서 사용한 변수가 조건식의 참, 거짓 여부를 결정한다.
예시) 1부터 10까지 더하는 프로그램을 for문으로 구현한다.


초기화 부분과 증감식 부분도 콤마(,)로 구분하여 여러 문장을 사용할 수 있다.
for문을 자주 사용하는 이유
for문을 가장 많이 사용하는 이유는 반복 횟수를 관리할 수 있기 때문이다.
물론 while문에서도 반복 횟수에 따라 구현할 수 있지만 for문이 가독성이 더 좋다.
또 for문은 배열과 함께 자주 사용하는데, 배열은 자료형이 순서대로 모여있는 구조다.
for문 요소 생략하기
for문을 구성하는 요소는 코드가 중복되거나 사용할 필요가 없을 때 생략할 수 있다.
초기화식 생략
이미 이전에 다른 곳에서 변수가 초기화 되어 중복으로 초기화할 필요가 없을 때 생략할 수 있다.
int i = 0;
for( ; i <= 10; i++) {
수행문;
}
조건식 생략
어떤 연산 결과 값이 나왔을 때 바로 for문의 수행을 멈추려면 조건식을 생략하고 for문 안에
if문을 사용할 수 있다.
int i;
for(i = 0; ; i++) {
sum += i;
if(sum > 200)
break;
}
증감식 생략
증감식에서 연산이 복잡하거나 다른 변수의 연산 결과 값에 좌우된다면 증감식을 생략하고 for문
안에 사용할 수 있다.
for(i = 0; i <= 10; ) {
수행문;
i = (++i) % 10;
}
요소 모두 생략
모든 요소를 생략하고 무한 반복하는 경우에 사용한다.
for( ; ; ) {
수행문;
}
중첩된 반복문
반복문 안에 또 다른 반복문을 중첩래서 사용하는 경우가 종종 있다.
예시) 구구단을 for문을 중첩하여 구현한다.


continue문
continue문은 반복문과 함께 쓰인다. 반복문 안에서 continue문을 만나면 이후의 문장은
수행하지 않고 for문의 처음으로 돌아가 증감식을 수행한다.
예시) 1부터 100까지 홀수일 경우에만 더하는 프로그램을 continue문을 활용해 구현


continue문은 반복문을 계속 수행하는데, 특정 조건에서는 수행하지 않고 건너 뛰어야할 때 사용한다.
break문
switch-case문에서 break문을 사용할 때 조건을 만족하면 더 이상 다른 조건을 비교하지 않고
switch문을 빠져나온 것처럼 반복문에서도 break문을 사용하면 그 지점에서 더 이상 수행문을
반복하지 않고 반복문을 빠져나온다.
예시) 0부터 시작해 숫자를 1씩 늘리며 합을 계산할 때
합이 100이 넘으면 멈추는 프로그램을 break문을 활용해 구현한다.


참고 서적: 자바 프로그래밍 입문 - 박은종
'프로그래밍 언어 > JAVA' 카테고리의 다른 글
JAVA 입문 - 클래스 살펴보기 (0) | 2022.05.06 |
---|---|
JAVA 입문 - 객체 지향 프로그래밍과 클래스 (0) | 2022.05.04 |
JAVA 입문 - 조건문 (2) | 2022.05.02 |
JAVA 입문 - 비트 연산자 (4) | 2022.05.02 |
JAVA 입문 - 항과 연산자 (8) | 2022.05.02 |