본문 바로가기
카테고리 없음

자바 - 제어문 : 반복문(for문, while문, do-while문)

by 스노위13 2022. 6. 9.

1. 반복문이란?

프로그램을 작성하다보면 똑같은 실행문을 반복적으로 실행할 때가 있다. 
반복문은 이렇게 어떤 코드들을 반복적으로 실행하고 싶을 때 사용되며 코드를 간결하게 만들어 준다. 
반복문의 종류는 for문, while문, do-while문이 있다. 이 세 가지는 if문까지 함께 서로 중첩되어 사용할 수 있다.
for문은 이미 알고 있는 반복 횟수에 맞춰 실행하고 싶을 때 주로 사용하고 while문은 조건에 따라 반복할 때 주로 사용한다. 
while문과 do-while문은 조건을 먼저 검사하느냐 한 번 실행후에 검사하느냐이다.

2. for문
만약 콘솔창에 1부터 10까지 출력하려면 어떻게 해야 할까? 물론 System.out.println(1)의 숫자를 다르게 해서 10개를 선언할 수도 있지만 너무 귀찮은 일이다. 이럴 때 사용하는 것이 바로 for문이다. for문은 주어진 횟수만큼 실행문을 반복 실행할 때 적합한 반복문이다. for문은 아래와 같이 만들어진다.

for(초기화식 ; 조건식 ; 증감식){
    실행문 
}

괄호 안의 초기화식을 실행한 후 조건식을 확인하여 true면 실행문을 실행시키고 false면 실행하지 않고 끝난다. 
실행문이 모두 실행된 후에는 괄호 안의 증감식을 실행시키고 다시 조건식을 평가하다가 증감에 따라 조건식이 false가 되면 for문이 끝난다.

for문을 활용하여 콘솔창에 1부터 10까지 출력하려면 아래와 같다.

1
2
3
4
for (int i = 1; i <= 10; i++) {
System.out.println(i);
}
 
cs


한 번 돌아갈 때마다 숫자 i를 출력하면서 10까지 커지고 10이 되면 조건식이 false가 되어 for문이 끝난다. 
그리고 아래와 같은 결과를 출력한다. 


초기화식에 사용된 변수는 for문의 로컬 변수이기 때문에 for문 밖에서는 사용할 수 없다. 만약 외부에서도 그 값을 사용하길 바란다면 for문 밖에서 선언해주어야 한다. 

for문을 중첩하여 사용하면 구구단 전체를 출력할수도 있다.
이에 대한 내용은 아래 링크에서 확인할 수 있다.

for문 구구단

3. while문

while문은 괄호 안의 조건식이 true인 경우에 계속해서 반복하고 조건식이 false가 되거나 break를 만나면 반복 행위를 멈추고 while문을 종료한다. 

이번에는 while문을 사용하여 1부터 10까지 출력해보자.

1
2
3
4
5
6
int i = 1// 초기화식
while (i <= 10) { // 조건식
System.out.println(i);
i++// 증감식
 
cs

for문과 유사하게 초기화식, 조건식, 증감식으로 만들어지며, 위의 while문의 출력은 for문과 동일하다. while문 내에서 계속 누적되는 값을 갖는 변수는 while문 시작 전에 미리 선언해 놓아야 한다. 

만약 조건식을 나가는 방법을 제대로 작성하지 않으면 무한루프에 빠지게 되므로 꼭! 조건식이 false가 되도록 만들거나 break를 사용하여 종료시켜야 한다. while문 안에 if문을 중첩하여 사용할 때, if문 안에 break를 넣어 특정 조건을 만족하면 while문을 벗어나게 하도록 많이 사용한다. 

4. do-while
do-while은 while문에서 순서만 조금 달라졌다고 생각하면 되는데 아래와 같이 작성한다.

do{
    실행문
}while(조건식);

먼저 실행문을 최초 실행한 후에 조건식을 확인하고 조건식이 true인 경우에야 실행문을 반복 실행한다. 

댓글