반복문

Backend kwon·2023년 4월 13일

for문

  • 조건식이 참인 동안 주어진 횟수만큼 실행문을 반복적으로 수행
// for (초기화; 조건식; 증감식)
    for(int num = 0; num < 10; num++) {	
      sum += num;
    }
    
    반복문에는 i라는 변수명을 많이 사용. i는 iterator(반복계수)를 의미
  • 초기화 : for문이 시작할 때 최초 한 번만 수행되며, 사용할 변수의 초깃값을 정한다.
  • 조건식 : 계속 반복할지 여부를 결정하고, 조건식 안의 값이 true라면 실행문을 실행시키고, false라면 더 이상 블록을 실행하지 않고 반복이 끝난다.
  • 증감식 : 반복 횟수를 결정하는 규칙

 

향상된 for문 (Enhanced for 문)

향상된 for문은 반복실행을 하기 위해 카운터 변수와 증감식을 사용하지 않는다.
배열 및 컬렉션 항목의 개수만큼 반복하고 자동적으로 for문을 빠져나간다.

 String[] names = {"kim", "lee", "jin"};
    for(String name : names) {
      System.out.println(name + "님은 자바를 공부중 입니다.");
    }

for문의 괄호 안에는 배열에서 꺼낸 항목을 저장할 변수 선언, 콜론( : ), 그리고 사용할 배열이 작성된다.

 

while문

while문은 조건식이 true일 경우에 계속해서 반복

(초기화);
while(조건식) {
  실행문; //조건식이 참인 동안 실행
  증감식;
}
int num = 1, sum = 0;
while(num <= 10) {
  sum += num;
  num++;
}

만약 조건식에 true를 사용하면 while(true) { ... } 가 되어서 무한 루프를 돌게 된다.
무한 루프는 무한히 반복하여 실행하기 때문에 언젠가는 while문을 빠져 나가기 위한 탈출 코드가 필요하다.

boolean run = true;
int num = 1;
while(run){ 
      num++; 
      System.out.println(num); 

      if(num == 20) { //조건문, num이 20가 되면 탈출! 
        run = false;
      }//break문 이용해도 된다.
    }

 

do-while문

do {
  (1)실행문 //처음 한 번은 무조건 실행
} while((2)조건식);
  1. do-while문이 처음 실행될 때 실행문을 먼저 실행
  2. 실행문이 모두 실행되면 조건식을 평가 그리고 그 결과가 true이면 실행문 → 조건식으로 반복 실행
  3. false이면 do-while문을 종료.

 

break문

  • 반복문인 for문, while문, do-while문을 실행 중지할 때 사용

  • 대개 if문과 같이 사용되며, if문의 조건식에 따라 for / while문을 종료 할 때 사용

  • 반복문이 중첩되어 있을 경우 break문은 가장 가까운 반복문만 종료하고, 바깥쪽 반복문에는 영향을 끼치지 않음

  • 바깥쪽 for문에 Outer라는 라벨을 붙이고, 이를 break문에 사용하면, 중첩된 for문 안에서도 바깥쪽 for문까지 완벽하게 빠져나올 수 있다.

Outer : for (int i = 3; i < 10; i++) {
            for (int j = 5; j > 0; j--) {
                System.out.println("i " + i + " j "+ j);
                if (i == 5) {
                    break Outer;
                }
            }

 

continue문

  • 블록 내부에서 continue문이 실행되면 for문의 증감문 혹은 while, do-while문의 조건식으로 이동하여 작동

  • continue문은 반복문을 종료하지 않고 다음 차례로 넘어가 계속 반복을 수행

  • if문과 함께 사용하는데, if문의 조건을 만족하는 경우 continue문을 실행하여 그 이후의 코드를 실행하지 않고 다음 반복으로 넘어감

for (int i = 1; i < 10; i++) {
            if (i % 2 == 0) { //
                continue; //다음 반복으로 넘어간다.
            }```
            System.out.println(i)
profile
백엔드개발자를 향해서

0개의 댓글