개발 일지/Java

[Java] 반복문(Repetitive Statement)

미숫가루설탕많이 2022. 12. 23. 20:40

 반복문은 코드들이 반복적으로 실행되도록 할 때 사용되며, 반복문의 종류로는 for 문, while 문, do-while 문이 있다.

 for 문과 while 문은 서로 변환이 가능하기 때문에 반복문을 작성할 때 어느 쪽을 선택해도 되지만, for 문은 반복 횟수를 알고 있을 때 주로 사용하고 while 문은 조건에 따라 반복할 때 주로 사용한다. while 문과 do-while 문의 동작방식은 동일하며, 둘의 차이점은 조건을 먼저 검사할지 나중에 검사할지이다.

 

 

 

 

for 문


 for 문은 조건식이 true인 동안 주어진 횟수만큼 실행문을 반복적으로 수행한다. 만약 num = num + (숫자); 와 같은 구문을 1000번 작성하려면 많은 시간이 걸릴 것이다. 하지만 for 문을 사용하면 코드를 획기적으로 줄일 수 있다.

 

for (초기화; 조건식; 증감식) {
	실행문; // 조건식이 true인 동안 실행
}

 

  • 초기화는 for 문이 시작할 때 처음 한번만 수행되며, 사용할 변수의 초깃값을 정한다.
    ex) int i = 0;   ,여기서 i는 iterator(반복계수)로 반복문에 많이 사용되는 변수명이다.

  • 조건식은 계속 반복할지 여부를 결정하는 조건이다. 조건식 안의 값이 true이면 실행문을 실행시키고 false이면 더 이상 블록을 실행하지 않고 끝난다.

  • 증감식은 반복 횟수를 결정하는 규칙이다. 변수에 값을 더하거나 곱하는 등 수행 방식을 지정한다. ++은 반복문에서 자주 쓰이는 증감 연산자로 피연산자의 값을 1 증가시킨다.

 

	int result = 0;
	for (int i = 0; i <= 4; i++) {
	result += i;
	}
	System.out.println(result); // 1~4의 합인 10이 출력된다.
  }

 

 위 예시를 살펴보면,

  1. 우선 i라는 변수를 선언하고 초깃값으로 0을 대입했다.
  2. 변수 i는 4보다 작으므로 실행 블록 안의 코드가 실행되고 실행 블록을 빠져나오면서 i가 1 증가한다(i++);
  3. i는 현재 1이다. 조건식의 4보다 작으므로 실행 블록 안의 코드가 다시 실행된다.
  4. 이 과정이 반복되다가 i가 5가 되면 4보다 작거나 같다는 조건을 만족하지 못하므로 for 문이 종료된다.

 

 

 

 

while 문


 for 문이 정해진 횟수만큼 반복한다면 while 문은 조건식이 true일 경우, 계속해서 반복한다. 조건식에는 비교 또는 논리 연산식이 주로 오는데, 조건식이 false가 되면 실행 블록을 실행하지 않고 종료한다.

 

(초기화);
while(조건식) {
	실행문; // 조건식이 true인 동안 실행
    증감식;
}	// 초기화와 증감식은 필요치 않으면 생략 가능하다.

 

 조건식에는 boolean 변수나 true / false 값을 산출하는 어떠한 연산식이든 올 수 있지만 만약 조건식에 true를 사용하면 while(true) { } 가 되어서 무한 루프를 돌게 된다. 따라서 이러한 경우는 while 문을 빠져 나가기 위한 탈출 코드가 필요하다.

 

// 예시

boolean run = true;
int num = 1;

	while(run) {
    	num++;
        System.out.println(num);
        
        if(num == 10) {	// num이 10이 되면 탈출
        	run = false;
            }
        }

 

 

 

 

do-while 문


 do-while 문은 조건식에 의해 반복 실행한다는 점에서는 while 문과 동일하다. 다만, 무조건 블럭 내부의 실행문을 한번 실행하고 조건을 검사하여 반복을 결정한다.

 

do {
	(1)실행문 // 처음 한번은 무조건 실행
} while((2)조건식);

 

위 예시를 살펴보면,

  1. do-while 문이 처음 실행될 때 (1)실행문을 먼저 실행한다.
  2. (1)실행문이 모두 실행되면 (2)조건식을 평가한다.
  3. 그 결과가 true이면 (1)실행문 -> (2)조건식으로 반복 실행한다.
  4. 결과가 false이면 do-while 문을 종료한다.

 

 

 

 

break 문


 break 문은 반복문인 for 문, while 문, do-while 문을 실행 중지할 때 사용된다. 또한, switch 문에서도 break 문을 사용하여 switch 문을 종료한다.

 

 break 문은 대개 if 문과 같이 사용되며, if 문의 조건식에 따라 for / while 문을 종료할 때 사용한다. 만약 반복문이 중첩되어 있을 경우에 break 문은 가장 가까운 반복문만 종료하고 바깥쪽 반복문에는 영향을 끼치지 않는다.

 

 

 

 

continue 문


 continue 문은 반복문인 for 문, while 문, do-while 문에서만 사용되는데 블록 내부에서 continue 문이 실행되면 for 문의 증감문 혹은 while, do-while 문의 조건식으로 이동하여 작동한다.

 

 break 문과의 차이점은 반복문 종료 여부인데, continue 문은 반복문을 종료하지 않고 다음 차례로 넘어가 계속 반복을 수행한다. break 문과 마찬가지로 continue 문도 보통 if 문과 함께 사용하는데, if 문의 조건을 만족하는 경우 continue 문을 실행하여 그 이후의 코드를 실행하지 않고 다음 반복으로 넘어간다.

'개발 일지 > Java' 카테고리의 다른 글

[Java] 객체 지향 프로그래밍(OOP)  (0) 2022.12.27
[Java] 배열(array)  (0) 2022.12.26
[Java] 조건문(Conditional Statement)  (0) 2022.12.23
[Java] 콘솔 입출력(I/O)  (0) 2022.12.22
[Java] 연산자(Operator)  (0) 2022.12.22